VimのQuickFix-windowを自動で開く設定

quickfix-window(QuickFixウィンドウ)は自動で開かれないので,自分で:cwで開かないといけない。

以下の設定を記述すると,該当するQucikFixコマンドを実行して,対象があるときだけ自動的にquickfix-windowを開いてくれる。

autocmd QuickfixCmdPost make,grep,grepadd,vimgrep cwindow

vimでquickfixを自動で開く – Webtech Walker

作業中のファイルとquickfixで確認・修正するウィンドウは別にしたほうが作業しやすいと思う。quickfix-windowを新しいタブで開くには以下のようにする。

autocmd QuickfixCmdPost make,grep,grepadd,vimgrep tab cwindow

Vim quickfix list launch files in new tab – Stack Overflow

quickfix-windowでは,Enterで該当ファイルの該当箇所にジャンプできる。しかし,たくさん見比べるときはタブで開きたいときがある。新しいタブで開きたければ,以下のキーバインドを使えばいい。なお,^[はC-vを押して,Alt+Enterを押して直接制御文字を入力する。

nnoremap ^[ <C-W><CR><C-W>T

これで,quickfix-windowでAlt+Enterで該当ファイルの該当箇所を新しいタブで開ける。

ターミナルの制約で,C-CRやS-CRにキーを割り当てるのは難しいみたい。

参考:

2016-05-17追記

上記のキーバインドは,Windowsなどで使えなかったりする。可搬性が下がるのでやめておこう。

代わりに以下の内容の~/.vim/after/ftplugin/qf.vimを作成しよう。

if exists("b:did_ftplugin_qf") | finish | endif
let b:did_ftplugin_qf = 1

"" open new tab nnoremap <buffer> t <C-W><CR><C-W>T

この設定により,quickfix-windowでだけ,tで現在カーソルのファイルを新しいタブページで開ける。<C-W>Tのキーで現在のバッファーを新しいタブページに異動させる。このキーは普段使いでも便利そうなので覚えておこう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です