一分一秒真剣勝負!

Ruby, Railsなど。Web系の技術ネタを充実させたい・・が、そうなるかは分からない。

Vimの正規表現が気にくわない

 今まで働いてきた殆どの現場でUNIX環境にVimがインストールされていない*1事が多く、Viの基本的なコマンドしか使っていなかったのだが、ここ1〜2年でVimを標準でインストールしてある現場が増えてきた。なので、今年に入ってからVimユーザーになったのだけど、Vimの正規表現PerlRuby正規表現に慣れていると非常に腹立たしいと感じた。例えば量指定子。

*  0以上
\+ 1以上
\= 0か1
\? 0か1
\{n,m}
\{n}

 どうせ「\」付けさせるんだったら「*」にも付けるようにして欲しかった。こういう紛らわしい例外があるとイライラするので、職場ではperldoから正規表現を使っている。

:perldo s/hoge/hogehoge/g

 こんな感じ。仕事はほぼRubyを使っているのだけど、Vim正規表現を使うとなるとPerlライクの方が使いやすい。ついでに我がさくらインターネットの環境にもperldoを使えるようにしようと思ったのだけど、何故かエラーが出てしまい上手くいかなかった。しょうがないのでさくらではeregex.vimをpluginに入れた。

:%S/hoge/hogehoge/g

 のようにsをSにするとPerlRubyのような正規表現を指定できる。これは職場にも入れた方がいいかなあ。どっちかに統一した方がスッキリするし。うーむ、悩ましい。

*1:当然、「vim入れてください」なんて意見は通った事が無い。