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
フラグと同等のものがあるかどうかを確認する必要があります。