困った時の自分用メモ

読んだ本を考察してメモったり、自分でいじった物の感想をメモったりする場。週1更新を目指します。

VIMの話~vimrcの設定で、定型文挿入が出来るようになる~

年に2,3回、何もしたくなくなる時期があるのだが、 大抵そういう時期には、VIMの便利機能とか欲しい機能の見直しの調査などをする。

今回は、前から作ろうと思っていてサボっていた、for文とif文の定型文挿入のコマンドを実装してみた。

〇"{"や"("を押すと、自動で閉じかっこなどを改行してくれる

imap { {}<LEFT><enter><enter><UP><TAB>
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と同じである。

つまり、キーボード入力がトレース出来るので、これさえ覚えておけば、その気になれば大抵の事はコマンドで対処できるという事だ。