変数名や関数名を変更した際、vimで置換する方法
コードを書いていると、最初はn
とか、いい加減な変数名をつけていたけれど、やっぱり途中でcount
とか、もう少しマシな名前にすりゃよかった、と思うことがあります。
この場合、単純に s/n/count/g
では、大抵うまくいきません。print
がpricountt
になるなど、多くの関係のないものまで、置換されてしまうからです。
例えば、マッチ範囲を限定するvimの正規表現方言の、\zs
, \ze
を利用して
s/(^|\H)\zsn\ze($|\W)/count/g
とすると、前後に英数字があるものはマッチしなくなりますが、これを毎回打つのはあまりに面倒です。
こういった場合に便利な、うまい方法はないでしょうか。
なお、言語仕様により付けられる変数名は変わってきますが、ここではとりあえず「英数字とアンダースコアのみからなる。ただし、1文字目には数字は来ない」ルールに対応できればいいものとします。