2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

vimでtabと<C-i>を使い分ける(mac)

Posted at

はじめに

キーボードのスキャンコードの仕様上、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> %

おわり

  1. http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_2)?action=edit&section=2

2
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?