vim
エディタでコマンドモードを使用して、改行文字(\n
)を2つの改行文字()に置き換えたいと思います。\n\n
vim
入力ファイルの内容:
This is my first line.
This is second line.
- 私が試したコマンド:
ただし、以下のように文字列を不要な文字に置き換えます。:%s/\n/\n\n/g
This is my first line.^@^@This is second line.^@^@
- その後、次のコマンドを試しました。
うまくいきます。:%s/\n/\r\r/g
2番目のコマンドが正しく機能する理由を説明できますか?
ベストアンサー1
奇妙なこと\n
に、vimでは代替改行を意味するのではなく、空であることを意味します。 ASCII nulは^@
(Ctrl+ @)です。
歴史的に、viは^M
(Ctrl+ M)を改行文字の行終端に置き換えました。\r
vimと同じようにC言語などの拡張機能がvimに追加されましたが、^M
開発者は\n
Meanをnullに設定することにしました。変えるテキスト。これは用途に合わない。探す、改行文字を検索します。
追加資料:
- 検索と置換(ビームウィキ)
- vimは文字を次に置き換えます。
\n