マッピングモードまとめ
vimのショートカットといえばmap、
でもmapは7つもモードがあるのでわかりずらい。
というわけでまとめてみました。
コマンド | ノーマル | ビジュアル | オペレータ保留 | 挿入モード | コマンド行 |
---|---|---|---|---|---|
:map | ○ | ○ | ○ | ||
:nmap | ○ | ||||
:vmap | ○ | ||||
:omap | ○ | ||||
:map! | ○ | ○ | |||
:imap | ○ | ||||
:cmap | ○ |
- ノーマル
- 通常のモード
- ビジュアル
- vでヴィジュアルモードに入っている場合
- オペレータ保留
- オペレータ保留モードは続けて入力があるような場合の時、例えばcwのwがそれに当たる。
- 挿入モード
- iで文字挿入モードに入っている場合
- コマンド行
:でvimコマンドモードに入っている場合
マップ方法
この表に従うと、ノーマルと挿入時にマップしたい場合には
:nmap yp yyp :imap yp yp
とすればよい。
マップ解除
また、:unmapを使うとマップを解除できる。
ノーマルとビジュアルのみにしたい場合には:nmap :vmapと2つマップすればよいが
:map yp yyp :ounmap yp
とすると、mapからomapだけmap解除してくれる。
マップの一覧
mapされてる一覧をみるには
:map
とだけやれば一覧が表示される。
一時解除
余談だけど:noremapってのがある。これはすでにマップされているのを(一時的に)無効にする時に使う。
:map ^A yy #^AはCtrl-V Ctrol-Aを入力 :map <Ctrl-B> ^A^]
と指定すると、
yy^]と入力したことになる。
これだと、本当に
:map ^A yy #^AはCtrl-V Ctrol-Aを入力 :noremap ^B ^A^]
とやると^Bは