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/