eregex.vimを使い始めた。そしてちょっとだけ修正した。

vim正規表現が、正直とっつきにくい。
なぜか?エスケープが大量になるから。

ということで、eregex.vimを使い始めました。

install

このあいだVundleに移行したので、.vimrcに

Bundle 'othree/eregex.vim'

を書いて、

:BundleInstall

して、設定として、

nnoremap / :M/
nnoremap ? :M?
nnoremap ,/ /
nnoremap ,? ?

を書いて終わり。簡単!

問題発生

自分はよくvimで、:E を使ってファイルを開いたりしています。
rails.vimやunite.vimのおかげで回数は減ったけど、まだよくやります。

で、eregex.vimを入れた後に、いつもと同じように :Eすると、

E464: ユーザ定義コマンドのあいまいな使用です

??よく分かりませんでした。

が、

  • ユーザ定義コマンド
    • 自分の設定かプラグインか何かで定義されたコマンド
  • あいまいな使用
    • 引数が足りない、という訳ではないと思うので、なんかコマンド名があいまい

ってことだろう。

ということで、今日入れたeregex.vimを疑います。すると、

eregex.vim/plugin/eregex.vim

command! -nargs=? -range E2v :<line1>,<line2>call <SID>ExtendedRegex2VimRegexLineWise(<q-args>)

こんな感じで、Eから始まるコマンド?がいます。ふむ。
コメントアウトしてみたら、:E が普段どおり使えるようになりました。


functionの方のE2vは残しています。コマンドとしてだけの問題で、この機能が憎いわけじゃないです故。

現状

とりあえず今はE2vはコメントアウトした状態で使っています。
でも、E2vって、このプラグイン的には核の機能の一つだよなぁなんて思ってるので、うまい解決方法を見つけて復活させたい!