「vimの文字列置換で置換後の文字列に改行を含める方法」の版間の差分

提供: neovim/vim入門
移動: 案内検索
(ページの作成:「vimでは、文字列置換に %s を %s/pattern/replace/ のように使います。置換する文字列に「改行」を含めたいこともよくありますし...」)
 
(関連項目)
 
(同じ利用者による、間の2版が非表示)
行1: 行1:
[[vim]]では、文字列置換に %s を %s/pattern/replace/ のように使います。置換する文字列に「改行」を含めたいこともよくありますし、改行コードを置換したいときもあります。今回は、文字列を置換するときに、リプレイス後の文字列に改行を含める方法を紹介します。
+
[[vim]]では、文字列置換に s コマンド を使います。置換する文字列に「改行」を含めたいこともよくありますし、改行コードを置換したいときもあります。今回は、文字列を置換するときに、リプレイス後の文字列に改行を含める方法を紹介します。
  
 
'''読み方'''
 
'''読み方'''
行6: 行6:
  
 
== 概要 ==
 
== 概要 ==
[[vim]] では、文字列に置換に
+
[[vim]] では、文字列置換に
 
  %s/検索パターン/置換後の文字列/オプション
 
  %s/検索パターン/置換後の文字列/オプション
を使います。
+
がよく使います。
 +
 
 +
行だけなら
 +
:s
 +
を使い、バッファ全体なら
 +
:%s
 +
になります。
  
 
「置換後の文字列」に「改行」を含めたいこともあると思います。私もよく、置換後に改行を入れる、といったことをよくやっています。
 
「置換後の文字列」に「改行」を含めたいこともあると思います。私もよく、置換後に改行を入れる、といったことをよくやっています。
行32: 行38:
  
 
== \r を使う場合 ==
 
== \r を使う場合 ==
^M No代わりに \r を使うこともできます。
+
^M の代わりに \r を使うこともできます。
になります。行のすべての ''',''' (カンマ) を '''改行''' にする場合は、 g オプションをつけます。
+
行のすべての ''',''' (カンマ) を '''改行''' にする場合は、 g オプションをつけます。
 
  :%s/,/\r/g
 
  :%s/,/\r/g
  
行39: 行45:
 
  :%s/,/,\r/g
 
  :%s/,/,\r/g
 
となります。
 
となります。
 +
 
== 関連項目 ==
 
== 関連項目 ==
 +
* [[vimの検索と置換]]
 
* [[vimのパターン検索と置換で知っておくべきこと]]
 
* [[vimのパターン検索と置換で知っておくべきこと]]
 
* [[メインページ]]
 
* [[メインページ]]
 
<!-- vim: filetype=mediawiki
 
<!-- vim: filetype=mediawiki
 
-->
 
-->

2017年6月10日 (土) 13:05時点における最新版

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

となります。

関連項目