GVimの正規表現の置換に改行文字を入れる方法 質問する

GVimの正規表現の置換に改行文字を入れる方法 質問する

私はWindows 7でGVimを使用しています。

正規表現の置換を使用して改行文字を配置する方法を知りたいです。これを行うために、\r および \n メタ文字を使用しようとしましたが、置換されたテキストに通常の改行が表示されません。

たとえば、冒頭では次のような内容です。

line 1
line 2

置換前

次の置換式を使用します。

:%s/\n/\n\n/g

すると、GVim は次のテキストを生成します。

line 1^@^@line 2^@^@

改行文字として\nに置き換えた後

代わりに、置換式で\r\nを使用すると

:%s/\n/\r\n/g

すると、GVim は次のテキストを生成します。

line 1
^@line 2
^@

改行として\r\nに置き換えた後

^@ 文字とは何ですか?

置換式で改行文字を適切に使用するにはどうすればよいですか?

ベストアンサー1

^@はヌルです


\r何らかの理由で、vim は改行を挿入するために置換テキストを確認しようとします。(\n置換では nul が挿入されます。)

したがって、 を実行して改行を正常に見つけたら/\n、次を試してください。

s//\r/

または、改行を追加するには:

s/$/\r/

パターン側では、\r実際の (015) CR 文字を意味し、リターンを改行に置き換えたい場合に次のような奇妙に見えるコマンドになります。

s/\r/\r/

いいえ、それはノーオペレーションではありません。

おすすめ記事