次の内容を含むテキストファイルがあります。
elephant
rhino
giraffe
/* animals who live in Africa */
#
各動物の終わりに文字を追加したいと思います。 vimを使用すると、これを行うことができます:%s/\n\n/#\r\r/g
。しかし、最初にこれを試しましたが、:%s/\n\n/#\n\n/g
結果は次のとおりです。
elephant#^@^@rhino#^@^@giraffe#^@^@/* animals who live in Africa */
vimはなぜこのように振る舞うのですか?\n
vimではどのように理解していますか?
ベストアンサー1
vim交換の交換に関しては、改行文字はで示されています\r
。だから試してみてください:
%s/\n\n/#\r\r/g
生成されたファイルは次のとおりです。
elephant#
rhino#
giraffe#
/* animals who live in Africa */
代替コマンドの前半には改行とキャリッジリターン文字が\n
あります。\r
対照的に、コマンドの代替側面には、NUL文字(16進数00)と改行文字が\n
あります。\r