No Vim, :cw
o 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 j
sinalizador.