はじめに
キーボードのスキャンコードの仕様上、tab
と<C-i>
は等価扱いのようです1
Both the keys produce the same key scan code.
Ctrl-I Tab Ctrl-[ Esc Ctrl-M Enter Ctrl-H Backspace
上記より、vimでtab
のキーバインドを登録したいけど<C-i>
(ジャンプリスト進む)が使えない、といった問題が発生します
Linuxでは下記の手法で分ける事ができるようです
http://qiita.com/norio13/items/9c05412796a7dea5cd91
macは上記のような解決法が中々見つかりませんでした
使い分け方法
Karabiner2を使って
<C-i>
をF12
等適当なキーに割り当てるprivate.xml<only>TERMINAL</only><autogen>--KeyToKey-- KeyCode::I, ModifierFlag::CONTROL_L, KeyCode::F12</autogen>
vimで
F12
を<C-i>
にするnnoremap <F12> <C-i>
これにより、tab
のマッピングを変更しても<C-i>
に影響が出なくなります
後はtab
を好きにマッピングする
nnoremap <Tab> %