エンジニア見習いが一人前を目指す

制御系エンジニア経験3年、webエンジニア1年目。技術まわりのことを書きます。

vim で挿入モードのときに hjkl でカーソルを移動する

vim でコードを書いているときに、() や [] を打つときに手間取ることが多かった。

flash[:success] = "Welcome to the Sample App!"

例えば↑のような文において[:success]の部分を書くとき、以下の手順で入力していた。
1. [] を書く
2. Esc を押して挿入モードからコマンドモードに戻る
3. h で左に移動する
4. i を押して挿入モードに戻る
5. :success を入力

面倒だったので、挿入モードの状態で hjkl でカーソル移動したかった。
~/.vimrc に以下を書いて解決。

inoremap ^H ^[ha
inoremap ^L ^[la

挿入モード時に ctrl+h で、左に移動、ctrl+l で右に移動することができる(上下は使うことが少ないので省略している)。
その結果、以下のように変わった。
1. [] を書く
2. ctrl + h で左に移動
3. :success を書く

大幅な改善!!
まぁ、[を書いたら]も書いてくれて、しかも[と]の間にカーソルが移動するようにもできるんだけど、そこまでやる気が起きなかったので。

inoremap とかの意味のまとめについては以下を参照。
http://vimblog.hatenablog.com/entry/vimrc_key_mapping

制御文字の入力方法に関しては以下を参照。
https://www.pistolfly.com/weblog/2011/11/post-134.html