viでシェルの「$変数名」を「${変数名}」に一括置換するexコマンド

シェルスクリプトで変数を扱うときは、「変数名=値」で宣言して「$変数名」で使用しますが、「${変数名}」のように波括弧で囲うのが推奨らしいです。ただ、打つのが面倒なので、あと付けてみました。


viのコマンドモードで以下の破壊的コマンドを入力します。

:%s/\$\([a-zA-Z_]\+\)/${\1}/g

まる括弧内は適宜修正してください。


viの正規表現では^とか$以外はメタ文字として扱うためにエスケープが必要なのを忘れていてはまっってった。自分でブログに書いたきがするんだけど。


■参考
http://www.k4.dion.ne.jp/~mms/unix/shellscript/shell_para.html