はじめに
私がVimでよく使うキーマップのカスタマイズを紹介します。
よく使うキーマップのカスタマイズ
折り返しがあっても上下の移動を1行にする
jkによるキャレットの移動はデフォルトだと行番号単位であり、折り返されていると一気に移動してしまいます。
折り返されていても常に1行ずつ移動するようにします。
noremap j gj
noremap k gk
「H」「L」で行頭・行末に移動する
0はまだしも、 $はとにかく押しにくいです。
よく使うコマンドは押しやすいようにしたいので、 Shift + hShift + lで移動するようにします。
noremap <S-h>0
noremap <S-l> $
これで押しやすくなりました。
「+」「-」でインクリメント・デクリメントする
数字やアルファベットのインクリメント・デクリメントは、デフォルトだと直感的なキーマップになっていません。
+-として直感的に操作できるようにします。
nnoremap +<C-a>
nnoremap -<C-x>
「Y」でキャレット位置から行末までヤンクする
Dや Cと異なり、Yは行全体をヤンクします。
統一性を持たせたいので、 Yでキャレット位置から行末までをヤンクするようにします。
nnoremap Y y$
ただ、私は y→ Lで同様の操作を行っており、こちらの設定は使っていないです。。
矢印キーを無効にする
こちらは禁断のカスタマイズです。
Vimのキーマップに慣れるため、矢印キーを押してもキャレットが移動しないようにします。
noremap <Left><Nop>
noremap <Down><Nop>
noremap <Up><Nop>
noremap <Right><Nop>
これですぐにVimのキーマップマスターになれます。
先輩や同僚に自分のマシンを操作してもらう場合、軽くキレられるのでご注意ください。
おわりに
いかがでしたでしょうか?
みなさんが他によく使うキーマップがありましたら、教えていただけると嬉しいです。
私のキーマップの設定ファイルはGitHubにあるので、よかったら見てください。
https://github.com/uhooi/dotfiles/blob/master/.vim/config/mappings.vim