年に2,3回、何もしたくなくなる時期があるのだが、 大抵そういう時期には、VIMの便利機能とか欲しい機能の見直しの調査などをする。
今回は、前から作ろうと思っていてサボっていた、for文とif文の定型文挿入のコマンドを実装してみた。
〇"{"や"("を押すと、自動で閉じかっこなどを改行してくれる
imap { {}<LEFT><RETURN><RETURN><UP><TAB>
imap [ []<LEFT>
imap ( ()
このコマンドは、閉じかっこつけ忘れに役立つ。
〇for文自動生成
nmap fff <insert><TAB>for ( {<UP><RIGHT>i = 0; i < empty; i++<DOWN> imap fff for ( {<UP><RIGHT>i = 0; i < empty; i++<DOWN>
これは、fffとfキーを3回素早く押したら、for文を挿入するという物だ。
・nmap/imap
⇒nmapが、ノーマルモード時に反応するという意味。imapが、入力モード時に反応するという意味。
・<insert>
⇒入力モードにするという指示
・<TAB>/<UP>/<RIGHT>/<DOWN>
⇒各キーボードを押した時の反応を示す。つまり、タブやカーソル移動を意味する
やってる事は、for文入力する際の人の手の動きのトレースに過ぎない。
〇if文自動生成
nmap ffi <insert><TAB>if ( {<UP> imap ffi if ( {<UP
これも、forと同じである。
つまり、キーボード入力がトレース出来るので、これさえ覚えておけば、その気になれば大抵の事はコマンドで対処できるという事だ。