': comando cw' no Vim: como evitar o salto automático para o primeiro erro?

1

No Vim, o comando :cw mostra a janela de quickfix se houver algum erro e deixa o cursor saltar para o primeiro erro reconhecido na janela de quickfix (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 ficar onde estava?

    
por xuhdev 01.07.2014 / 22:58

1 resposta

2

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

augroup quickfix
  autocmd!
  autocmd Syntax qf wincmd p
augroup END

Não é o comando :cw[indow] que pula o cursor na primeira linha correspondente no buffer, é o comando que criou a lista exibida na janela de correção rápida 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 isso:

:vim foo % | cw

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

Mas se você fizer isso:

:vim /foo/j % | cw

seu cursor permanece no lugar. Veja :help :vimgrep .

Você deve verificar a documentação do comando que está usando para ver se ele tem um equivalente desse j flag.

    
por 02.07.2014 / 00:13

Tags