rohaniのブログ

ゆるっと自然言語処理奴。ときどき工作系バイト。

vimで改行への置換を行うには\r、改行を置換するには\nを用いるのは何故か

疑問

自分の環境では、vimで改行への置換を行うには\r、改行を置換するには\nを用いる必要がある。何故か。

結論

自分はmacの言葉で命令していて、ファイルはunixの言葉で記述されていたから。

改行への置換に\rを用いる理由

改行コードは機種依存であり、自分の環境(Mac)では改行コードは(\r)だから。

OS 記号 ASCII プログラムでは
Windows <CR><LF> 0A0D \r\n
Linux <LF>または^@ 0A \n
Mac <CR>またはM 0D \r
:s/hoge/\r/

ちなみに、vim文字コード:set enc?で確認できる。

改行を置換するには\nを用いる理由

ファイルフォーマットがunixだから、ファイル内の改行は\nで記述されている。

ファイルフォーマットは3種類あって、doc, unix, macらしい。 確認は:set ff?

:s/\n/hoge/