Vimでは、:cw
コマンドは、エラーがある場合にクイックフィックスウィンドウを表示し、カーソルをクイックフィックスウィンドウで最初に認識されたエラーにジャンプさせます(エラーがあるバッファーではありません)。同じジョブを実行するが、最初のエラーにジャンプせず、元の場所にとどまるコマンドはありますか?
クイックフィックスウィンドウが現在作業しているウィンドウからフォーカスを奪うことが問題である場合、解決策は非常に簡単です。これらの行を~/.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
フラグに相当するものがあるかどうかを確認する必要があります。