Como capturar erros do make na janela do terminal

8

A nota de versão do Vim 8.1 parece indicar que você pode alimentar a saída do make running em uma janela do terminal para uma lista de correções rápidas, mas não encontrei nenhuma explicação detalhada. Existe uma maneira de fazer isso automaticamente ou preciso adicionar manualmente à lista de correções rápidas usando :caddbuffer?

Sora Minazuki
fonte
Isso é comum? Que tipo de tarefa é essa? Os usos mais comuns do quickfix são linting e grepping. Se você estiver aprendendo, use :makeou ALE . Se você estiver pesquisando, use :grep. Caso contrário, você provavelmente terá que fazer algo assim :cgetbufferou, mais provavelmente <c-w>N, em seguida, puxar a saída,:cexpr @@
Peter Rincker
11
"Os erros detectados podem ser capturados e adicionados a uma lista de correções rápidas, para que você possa ir direto à causa do problema." O OP só quer saber o que a pessoa que escreveu isso (Bram?) Quis dizer.
Miss
@ PeterRincker Eu costumo usar :makee :grep, mas me incomoda como bloqueia todo o editor enquanto ele está sendo executado. Usar a janela do terminal como na nota de versão parece uma alternativa promissora. A passagem na nota de lançamento que o @Mass mencionou parece sugerir que há uma maneira fácil de fazer isso, mas não tenho muita certeza.
Sora Minazuki
2
Veja github.com/vim/vim/issues/2955
Christian Brabandt

Respostas:

2

Eu fiz um pequeno plugin vpager . Isso permite despejar a saída do terminal novamente no Vim.

Além disso, a última confirmação permite usar a saída e despejá-la na lista de correções rápidas. Então você pode simplesmente fazer :make |vpager -Qe deve ser carregado de volta no Vim.

(Pode ser necessário fazer ajustes na configuração do formato de erro, não tenho certeza).

trecho do README :

git diff | vpager -nC 'ft=diff'

  Copies the output of git diff into a buffer inside Vim. Any previous
  output in the buffer will be cleared and the filetype will be set
  to "diff", for proper syntax highlighting.

  grep -n <searchterm> files | vpager -Q

  Parses the grep -n output, copies it back into the quickfix buffer
  and opens the first result in a new window.
Christian Brabandt
fonte
2

Acho que caddbufferatualmente é a melhor maneira de conseguir o que quero.

Sora Minazuki
fonte