not good but great

プログラミング、アート、映画・本の感想について書きます。

vimで行数指定して置換、「*」をエスケープして置換する

行数を指定して置換

:開始行,終了行s/置換前/置換後/g

これで特定範囲内の置換が出来る。

:開始行s/置換前/置換後/g

一行だけ置換したいときは開始行だけ記述すれば良い。

エスケープに注意

置換前
scene.chidren[i*j + k]
置換後
scene.chidren[i * len * len + j * len + k]

vimで上のような置換をしたかった。

150,163s/i * j + k/i * len * len + j * len + k/g

行数を指定して書いたら、マッチングしなかった。

150,163s/i \* j \+ k/i \* len \* len \+ j \* len \+ k/g

記号をエスケープする必要があり、処理を施すもマッチングしない。

150,163s/i \* j + k/i * len * len + j * len + k/g

おかしいと思い、一つずつエスケープさせた。すると最初だけエスケープしたら適応された。