Comando `:cw` no Vim: como evitar o salto automático para o primeiro erro?

Comando `:cw` no Vim: como evitar o salto automático para o primeiro erro?

No Vim, :cwo comando mostra a janela de correção rápida se houver algum erro e deixa o cursor pular para o primeiro erro reconhecido na janela de correção rápida (não no buffer onde há um erro). Existe um comando para fazer o mesmo trabalho, mas não pular para o primeiro erro, mas permanecer onde estava?

Responder1

Se o seu problema é que a janela do quickfix rouba o foco da janela em que você está trabalhando no momento, a solução é bastante simples. Adicione estas linhas ao seu ~/.vimrc:

augroup quickfix
  autocmd!
  autocmd Syntax qf wincmd p
augroup END

Não é o :cw[indow]comando que coloca o cursor na primeira linha correspondente no buffer, é o comando que criou a lista exibida na janela do quickfix que faz isso.

Suponha que você tenha:

foo
foobar
foobarbaz

e você faz:

:vim foo %

seu cursor é posicionado automaticamente na primeira linha correspondente, sem :cw.

Se você fizer:

:vim foo % | cw

seu cursor ainda está posicionado na primeira linha correspondente para que o comportamento não esteja vinculado a :cw.

Mas se você fizer isso:

:vim /foo/j % | cw

seu cursor permanece parado. Ver :help :vimgrep.

Você deve verificar a documentação do comando que está usando para ver se ele possui um equivalente a esse jsinalizador.

informação relacionada