エヴァQ反省会した。エヴァQ面白いかどうかは置いておいてよかったですよね。(n 回目)

kana/vim-smartinput という vim プラギンを導入した。
作者本人の解説記事 にあるとおり、カッコの片方入れたら勝手に閉じカッコをつけてくれたりするプラギン。
だけど、実際は “正規表現+カーソルの位置を表す独自記法” にマッチする状態の時で、あるキーが入力されたらマクロを発行するという挙動をしていて、自分でルールを追加できる。
ruby周りでいろいろ追加して遊んでみた。
- 行頭の if, unless, class, module, def で enter すると end の自動補完
doと{の直後に|で|の自動補完doやdo |...|の時に行末でenterするとendの自動補完- require等の後にスペースで
''の自動補完、文字列の中にカーソルを持っていく - rspec で describe, context の後にスペースで
"" doを補完してカーソルを文字列の中に持っていく - rspec で it の後にスペースで
""を保管してカーソルを文字列の中に持っていく - rspec で it の行で enter すると
do,endが補完されてブロックの中にカーソルを持っていく - rspec で it ブロックの中で it 等を書くとブロックがなくなってインデントが下がる
とか。rspec で最初にガーッとブロックなしのexampleを書いていく時にshift使わなくて良くなった。
ところで internal tool 作りって楽しいですよね。