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 Screenとvimを一緒に使うと、vimでタグジャンプから戻るためのコマンド(Ctrl + t)が使えなくなります。Ctrl + tを押すと、それはGNU Screenでのprefixキーとして認識されてしまいます。GNU Screenとvimでのキーバインドの衝突を回避する必要があります。
そこで、.vimrcに以下の設定を追加します。この設定をすると、"Ctrl + t"の代わりに、"Ctrl + ["でタグジャンプから戻れるようになります。"Ctrl + ]"でタグジャンプするので、その逆の操作は"Ctrl + ["でできれば直感的だと考えました。
% vim ~/.vimrc [...] nmap <c-[> :pop<CR>