Vim の `:cw` コマンド: 最初のエラーへの自動ジャンプを回避するにはどうすればよいでしょうか?

Vim の `:cw` コマンド: 最初のエラーへの自動ジャンプを回避するにはどうすればよいでしょうか?

Vim では、:cwエラーがある場合、コマンドはクイックフィックス ウィンドウを表示し、カーソルをクイックフィックス ウィンドウ内の最初に認識されたエラーにジャンプさせます (エラーがあるバッファー内ではありません)。同じことを実行し、最初のエラーにジャンプせずに、エラーがあった場所に留まるコマンドはありますか?

答え1

クイックフィックス ウィンドウが現在作業中のウィンドウからフォーカスを奪ってしまうことが問題である場合、解決法は非常に簡単です。次の行を に追加します~/.vimrc

augroup quickfix
  autocmd!
  autocmd Syntax qf wincmd p
augroup END

:cw[indow]これは、バッファ内の最初の一致する行にカーソルをジャンプさせるコマンドではなく、クイックフィックス ウィンドウに表示されるリストを作成したコマンドです。

次のような状況を想定します。

foo
foobar
foobarbaz

あなたがやる:

:vim foo %

カーソルは、 なしで、最初に一致する行に自動的に配置されます:cw

もし、するなら:

:vim foo % | cw

カーソルはまだ最初の一致する行に配置されているため、動作は とリンクされません:cw

しかし、もしそうするなら:

:vim /foo/j % | cw

カーソルはそのまま残ります。 を参照してください:help :vimgrep

使用しているコマンドのドキュメントをチェックして、そのjフラグと同等のものがあるかどうかを確認する必要があります。

関連情報