はじめに
キーボードのスキャンコードの仕様上、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は上記のような解決法が中々見つかりませんでした
## 使い分け方法
1. Karabiner[^2]を使って`<C-i>`を`F12`等適当なキーに割り当てる
```private.xml
<only>TERMINAL</only>
<autogen>--KeyToKey-- KeyCode::I, ModifierFlag::CONTROL_L, KeyCode::F12</autogen>
```
2. vimで`F12`を`<C-i>`にする
```.vimrc
nnoremap <F12> <C-i>
```
---
これにより、`tab`のマッピングを変更しても`<C-i>`に影響が出なくなります
後は`tab`を好きにマッピングする
```.vimrc
nnoremap <Tab> %