Vimで正規表現を使用してグループ毎の置換をしたい時、Perl等の正規表現とは違って独特の
書き方をしないといけないので注意すること。 よく自分が忘れるのでメモを残した。
-
(.*)
と書けばいいところを、\(.*\)
のように\
を(
,)
の前に加えなければならない。 -
$1
、$2
...は\1
、\2
のように書かなければならない。
以下のコマンドを実行すると、その下の実行結果のようになる。
実行前
status=ステータス
dataList=データ一覧
deptid=ユーザの組織ID
userid=ユーザID
updateDate=更新日時
コマンド
:%s/\(.*\)=\(.*\)/hashMap.put("\1", "\2");/g
実行後
hashMap.put("status", "ステータス");
hashMap.put("dataList", "データ一覧");
hashMap.put("deptid", "ユーザの組織ID");
hashMap.put("userid", "ユーザID");
hashMap.put("updateDate", "更新日時");
参考
Vimで使える正規表現
http://archiva.jp/web/tool/vim_regexps.html