vim (vi)の置換のお話です。 全行のoldをnewに置換したい場合は普通こうしますよね。 :%s/old/new/g しかしoldで始まってnewで終わる単語のoldをnewにしたい場合、つまりold○○○newやoldxxxnewをnew○○○newやnewxxxnewに置換したい場合は置換対象の文字列に正規表現を使うため、上記のように単純な置換で実現できません。よって、○○○やxxxの部分を変数のように扱う必要がでてきます。これは以下のようにして実現できます。 :%s/old\(.*\)new/new\1new/g “\(” と “\)” で囲まれた部分はホールドバッファと呼び、9つまで使うことができ、\1~\9として呼び出すことができます。つまりold・・・・newの・・・・の部分を正規表現”.*”でマッチさせて\1として扱えるため、上記を実行するとnew・・・・newに置換