Vim で置換を行う際に置換後に改行を入れたい場合
Vim では任意の範囲で文字列の置換が行える.
例えば、様々な範囲で hoge という文字列を fuga に置換したい場合には以下のようにコマンドを入力するとよい.
-
文書内全体
-
:%s/hoge/fuga/g
-
-
(VISUAL モードにおける) 選択範囲
-
:'<,'>s/hoge/fuga/g
-
-
行指定 (9 行目から 10 行目の範囲 など)
-
:9,10s/hoge/fuga/g
-
このとき、置換元の文字列として改行文字を指定したい場合には通常のプログラミング言語と同様に \n という記法を用いればよいが、置換先の文字列として改行文字を指定したい場合にはこのように \n と入力してもうまく改行を行ってくれないようになっている.
置換先の文字列中に改行文字を含めたい場合には、 Ctrl-v + Enter と入力するようにすると良い.
例えば、 hoge を fuga\n に置換したい場合には f + u + g + a + Ctrl-v + Enter と入力する.
Vim 上ではこの置換コマンドは :%s/hoge/fuga^M/g のように表示されることとなる.