vi で改行コード(^M)を削除

ちょっと度忘れしていたので、備忘として。

改行コード(キャリッジリターン)の削除

改行コードは、2つある。


CR = キャリッジリターン(Mac
LF = ラインフィード(UNIX


キャリッジリターンが Macintosh で使われてた改行コードで、ラインフィードが UNIX で使われている改行コード。
CRLF と、二つ合わせて使うのが、Windowsで使われる改行コード。


Ctrl + V → Ctrl + m で ^M が入力できるのは参考サイトを見て初めて知った (^^;
けれど、もう少しだけ簡単な覚え方がある。
タブをコードで入力するとき、\t で検索することがあるんじゃなかろうか。
それと同じように、CR も LF も対応するコードが存在する。


Tab = \t
CR = \r
LF = \n


この \r が ^M の特殊記号になっている。
なので vi の置換コマンドでこう打つ。

:%s/\r//g


逆に、こう打ってしまうと、全部で 1 行になってしまう。

:%s/\n//g



ま、それはともかく…… vi で置換するときは % を入れ忘れないようにしないと (^^ゞ