Como posso obter um buffer navegável (editável?) com as 'mensagens' do vim?

2

Então, se eu receber um erro de um plug-in, gostaria de poder denunciar esse erro no GitHub ou similar.

Infelizmente, não é selecionável pelo mouse; e depois de aparecer e me pedir para apertar o botão RETURN, parece ter desaparecido para sempre.

  1. Descobri que posso fazer com que os erros apareçam novamente usando :messages ou :3messages ou similar; mas eles aparecem da mesma maneira: não selecionáveis, inúteis.

  2. Outro empilhador perguntou uma pergunta semelhante, que rendeu o comando útil :let @+=v:errmsg - mas que captura apenas a última linha das mensagens; muitos erros que vejo consistem em linhas múltiplas , que eu gostaria de selecionar.

Por favor, ajude-me a transformar uma janela :messages em um buffer, para que eu possa usar a seleção normal do mesmo modo para copiar o que quero relatar fora do Vim ou pelo menos B. construir algo que eu possa usar meu .vimrc que copiará todas as linhas do erro mais recente na minha área de transferência.

Obrigado! (=

    
por ELLIOTTCABLE 10.10.2017 / 19:43

2 respostas

2

Tente isto:

:redir > messages.txt
:messages
:redir END
:e messages.txt

Você pode suprimir a saída para a exibição enquanto ainda captura a saída das mensagens alterando :messages para :silent messages .

    
por 11.10.2017 / 04:07
1

A resposta da heptite é uma boa maneira de fazer isso usando built-ins. Se você está bem com o uso de um plugin, o meu plugin bufferize automatiza o processo um pouco. Permite que você faça:

:Bufferize messages

Para obter um buffer de visualização com o conteúdo da saída desse comando.

Como observação, estou surpreso que a saída :messages não seja selecionável. Eu acho que talvez você esteja usando o Vim com uma GUI? Com o terminal Vim, você pode selecionar e, em seguida, clicar com o botão direito do mouse no conteúdo.

    
por 11.10.2017 / 09:11