Vim: GNU Screenの環境下でctagsによるタグジャンプの操作を快適にする設定

ctagsとvimを連携させて使うと、C言語などのプログラムをコーディング中に、関数など定義位置に簡単にジャンプできて便利です。デフォルトのvimの設定では、"Ctrl + ]"で関数などの定義位置に移動し、"Ctrl + t"で元の位置に戻れます。

GNU Screenで新しいウインドウを開いたりする時に使うprefixキーは、デフォルトではCtrl + aです。しかし、それをカスタマイズしてCtrl + tに変更している方も多いはずです。僕もCtrl + tに変更しています。(zshではCtrl + aを押した時に、カーソルが先頭に行くのですが、そのキーバインドGNU Screenのprefixキーがかぶらないないようにするために、変更しています。)

ここで少し困ったことが起きます。prefixキーをCtrl + tに変更したGNU Screenvimを一緒に使うと、vimでタグジャンプから戻るためのコマンド(Ctrl + t)が使えなくなります。Ctrl + tを押すと、それはGNU Screenでのprefixキーとして認識されてしまいます。GNU Screenvimでのキーバインドの衝突を回避する必要があります。

そこで、.vimrcに以下の設定を追加します。この設定をすると、"Ctrl + t"の代わりに、"Ctrl + ["でタグジャンプから戻れるようになります。"Ctrl + ]"でタグジャンプするので、その逆の操作は"Ctrl + ["でできれば直感的だと考えました。

% vim ~/.vimrc
[...]
nmap <c-[>  :pop<CR>