今までのおさらいと目次とテーマ
http://snoopopo.hatenablog.com/entry/2015/04/14/113800
http://snoopopo.hatenablog.com/entry/2015/02/16/105930
今日のテーマ:改行を一発で削除
以前やった、CRである^M を消す、という意味ではなく、*1
今回は、改行コードを、空文字で置き換えて、いっきに改行がない状態にできないかということを見ていきます.
line1 line2 line3
これ↑がこう↓なってほしい。
line1line2line3
結果的にいうと、以下でいきます。
:%s/\n//g
↑のはもちろん、ファイル全体の改行を置換した場合です。
この改行問題の話ではOSによる改行コードの違いがあると思います。
なんと便利なことに、CRLFの改行も削除してくれるようです。
ここで試したことは、
ff=unixの状態で、LFを削除してくれること
ff=dosの状態で、LF,CRLFを削除してくれること
です。
ff=unixの状態でCRがあるときは前述のとおり^Mが表示されてしまい、 その状態で上記のコマンドをすると、
line1^Mline2^Mline3^M
となります。なので、この場合は、不要な^M つまり、CRは消さないとだめなので、
:%s/^M//g
をやってから、:s%s/\r//g
をすることになると思います。順番関係ないけど。。