vimの文字列置換で置換後の文字列に改行を含める方法

提供: neovim/vim入門
2017年6月10日 (土) 13:05時点におけるDaemon (トーク | 投稿記録)による版 (関連項目)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

vimでは、文字列置換に s コマンド を使います。置換する文字列に「改行」を含めたいこともよくありますし、改行コードを置換したいときもあります。今回は、文字列を置換するときに、リプレイス後の文字列に改行を含める方法を紹介します。

読み方

置換
ちかん

概要

vim では、文字列置換に

%s/検索パターン/置換後の文字列/オプション

がよく使います。

行だけなら

:s

を使い、バッファ全体なら

:%s

になります。

「置換後の文字列」に「改行」を含めたいこともあると思います。私もよく、置換後に改行を入れる、といったことをよくやっています。

置換後の文字列に改行を入れるやりかた

改行を指定するときには、

C-v Return

を入力します(コントロール + v のあとに リターンキーを押します)。

^M

みたいな文字列が入ります。この ^M改行 を意味します。

例えば、 , (カンマ) を 改行 に切り替える場合は

:%s/,/^M/

になります。行のすべての , (カンマ) を 改行 にする場合は、 g オプションをつけます。

:%s/,/^M/g


, (カンマ) の後に 改行 を追加したい場合だと

:%s/,/,^M/g

となります。

例えば、 foo を foo 改行 bar みたいにしたいのであれば、こんな感じになります(^M は コントロール +v + 改行です)。

:%s/foo/foo^Mbar/g

\r を使う場合

^M の代わりに \r を使うこともできます。 行のすべての , (カンマ) を 改行 にする場合は、 g オプションをつけます。

:%s/,/\r/g

, (カンマ) の後に 改行 を追加したい場合だと

:%s/,/,\r/g

となります。

関連項目




スポンサーリンク