変数名や関数名を変更した際、vimで置換する方法

投稿者: Anonymous

コードを書いていると、最初はnとか、いい加減な変数名をつけていたけれど、やっぱり途中でcountとか、もう少しマシな名前にすりゃよかった、と思うことがあります。

この場合、単純に s/n/count/g では、大抵うまくいきません。printpricounttになるなど、多くの関係のないものまで、置換されてしまうからです。

例えば、マッチ範囲を限定するvimの正規表現方言の、zs, ze を利用して
s/(^|H)zsnze($|W)/count/g とすると、前後に英数字があるものはマッチしなくなりますが、これを毎回打つのはあまりに面倒です。

こういった場合に便利な、うまい方法はないでしょうか。

なお、言語仕様により付けられる変数名は変わってきますが、ここではとりあえず「英数字とアンダースコアのみからなる。ただし、1文字目には数字は来ない」ルールに対応できればいいものとします。

解決

/<n>/のように<>を使うと単語の区切りとして認識されます。
どうでしょうか。

回答者: Anonymous

Leave a Reply

Your email address will not be published.