@WIKI

viエディタでの ^M の外し方

最終更新:

atyou

- view
管理者のみ編集可
(知らなかった人は参考に)

UNIXのテキストファイル上で ^M を見かけることがしばしばありますよね。

Windowsで作成したファイルの改行コードはCR+LFで、UNIXの改行コードはLFだけなので、
ファイルの転送方法その他(VSS管理ファイル)によってはそのまま vi で開くとすべての行末に ^M が表示される場合があります。
(VSS管理上のファイルを「最新バージョンの取得」で作業フォルダに持ってきて、
そのままUNIX上に持っていくと多分(100%) ^M が付加されていると思います。)

 そこで、いままで vi エディタ上で1つずつ削除している人は
 以下の方法で一括変換できますので試してみてください。

 ① vi エディタでソースファイルを開く

 ② 【:】(コロン)キーを押下しコマンドモードへ
     (その他作業していた場合は【ESC】キー押下した後)

 ③ 以下のいずれか(好きな方)を入力し【改行(Enter)】キー
   を押下すると一括置換えが出来ます。

%s/^M//g
g/^M/s///g
(どちらも結果は同じです。)

 ただ、 ^M を入力する場合は普通に入力したのではダメ!
 ^M は制御コードなので、【Ctrl】キーを押したまま、【v】キー、【m】キーを押下し入力します。

 また、この置換えは通常の文字列変換にも使用できます。
 書式は以下の通りです。

   方法1)
%s/検索文字列/置換文字列/g

   方法2)
g/検索文字列/s//置換文字列/g

 もし、置換が間違っていたら置換え直後に【u】キーを押すことで元に戻ります。
人気記事ランキング
目安箱バナー