![vim의 `messages`를 사용하여 탐색 가능한(편집 가능한?) 버퍼를 어떻게 얻을 수 있나요?](https://rvso.com/image/1543219/vim%EC%9D%98%20%60messages%60%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%83%90%EC%83%89%20%EA%B0%80%EB%8A%A5%ED%95%9C(%ED%8E%B8%EC%A7%91%20%EA%B0%80%EB%8A%A5%ED%95%9C%3F)%20%EB%B2%84%ED%8D%BC%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%96%BB%EC%9D%84%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
따라서 플러그인에서 오류가 발생하면 GitHub 또는 이와 유사한 오류를 보고하고 싶습니다.
불행히도 마우스로 선택할 수는 없습니다. 그리고 나타나서 RETURN을 누르라고 요청한 후에는 영원히 사라진 것 같습니다.
오류가 나타날 수 있음을 발견했습니다.다시사용하거나
:messages
유사한:3messages
것; 그러나 그들은 같은 방식으로 나타납니다: 선택할 수 없고 쓸모가 없습니다.또 다른 스태커물었다비슷한 질문으로 유용한 명령을 얻었
:let @+=v:errmsg
지만 이는 단지아주 마지막메시지 줄; 내가 본 많은 오류는 다음과 같습니다.다수의모든 라인을 선택하고 싶습니다.
:messages
A. 창을 버퍼로 전환하여 일반적인 시각적 선택을 사용하여 Vim 외부에서 보고하고 싶은 내용을 복사할 수 있도록 도와주세요. 아니면 적어도 B. .vimrc
복사할 내용을 내 내부에 넣을 수 있도록 도와주세요.모두가장 최근 오류 내용을 내 클립보드에 복사합니다.
감사해요!(=
답변1
Heptite의 답변은 내장 기능을 사용하여 이를 수행하는 좋은 방법입니다. 플러그인을 사용해도 괜찮다면,버퍼화하다플러그인은 프로세스를 약간 자동화합니다. 다음을 수행할 수 있습니다.
:Bufferize messages
해당 명령의 출력 내용이 포함된 미리보기 버퍼를 얻으려면.
참고로 :messages
출력을 선택할 수 없다는 것에 놀랐습니다. 어쩌면 당신은 GUI와 함께 Vim을 사용하고 있는 것 같은데요? 터미널 Vim을 사용하면 콘텐츠를 선택한 다음 마우스 가운데 버튼을 클릭하여 붙여넣을 수 있습니다.
답변2
이 시도:
:put = execute('messages')
설명:
:put {register}
레지스터의 내용을 커서 위치에 넣습니다(p
일반 모드와 유사).execute('messages')
Ex 명령을 실행하고 그 출력을 캡처하는 vimscript 함수입니다.={vimscript expression}
표현식 레지스터이며, 그 값은 vimscript 표현식의 결과입니다.
따라서 위의 내용은 표현식 레지스터에서 명령의 출력을 캡처 :messages
하고 표현식 레지스터의 내용을 커서 위치에 배치합니다.
보다 :h quote=
, :h :put
,:h execute()
답변3
이 시도:
:redir > messages.txt
:messages
:redir END
:e messages.txt
:messages
로 변경하면 메시지 출력을 캡처하는 동안 디스플레이 출력을 억제할 수 있습니다 :silent messages
.