commentout.vim 改 - その2

NERD Commenter などに興味をそそられつつも、

を継承したキーマップ設定を自分好みに改造しつつ、数年来ずっと使っているのですが、

この度、例の「無駄に関数にしたい病」により、キーマップ設定を、コマンド組み立て用ユーザー定義関数の呼び出しに置き換えてみました。

ううむ。無駄に行数を増やしてるだけのような気がしないでもないのですが、キーマップ自体はすっきりしました。

これで後数年は戦えそうです(キリッ

追記

その後さらにごちゃごちゃといじるうちに、バッファの filetype から leader と trailer を決定する dwim*1コメントアウトができるようになったりして、そろそろ vimrc の範疇を越えそうな勢いです。

とりあえず現時点での自分のニーズはカバーできてるので、しばらくこれで様子見。ここからさらに行数が増えてくるようなら、晴れてオレオレプラグイン第2号というところ。(2010-10-22)

後書き

上の commentout.vim ではコメントの leading ごとに1つのキーマップを割り当てていますが、これ、バッファの filetype を見てコメントの leading と trailing、それからコメントの形式(lhs, wrapping, block)を決定するのが賢いやり方なんでしょうね。NERD Commenter なんかは多分そうなっているんでしょう。

でも、個人的にはコメントの leading がそのままキーマップになっている方が好きかなあ。

自分が使う言語に限って言えば、コメントの leading ってそう種類があるわけではないので、leading の数だけキーマップを作っても実はそんなに大した数にはならないし。

ここ最近は大体 RubyJavaScript なんで、 v_#v_/ さえあれば十分だよっていう。まあ、慣れの問題ですが。

leading が(物理的な)行頭にくるようにしたり、コメントアウト後に trailing を Align で揃えたり、コメントの解除後にインデントをし直すとか、自分好みに細かくいじってるので、なかなか他のプラグインに移行できないというのもあり。

*1:The acronym DWIM stands for "Do What I Mean".