• 締切済み

Windowsのファイルを読み込むと、改行の位置に「^M」が・・・

Windowsのファイルを emacs で読み込むと、改行の位置にすべて「^M」が表示されていてうっとうしいのですが、^Mを表示しない方法はないでしょうか?

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.5

改行コードは、LFのみ、CRのみ、CRLFという3種類がありますが、emacsは自動判別してくれます。 ^Mが表示されているということは 1)LFのみとCRLFの改行が混在している 2)自動判別がうまくいってない の2通りの原因が考えられます。普通にWindowsで作ったファイルであれば1)は考えにくいので、2)が原因だと思います。 設定ファイルで改行コードをLFのみに決め打ちしているのではないでしょうか。.emacsはデフォルトですか?何か変更しましたか?coding-systemについての設定はありませんか?

white-tiger
質問者

お礼

みなさま、ありがとうございます。 お返事遅れて済みません。 全部Windowsで作ったので、2)ですね。 emacs はデフォルトなのですが・・

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.4

Windowsの改行コードでも普通は化けませんけどね~ UNIX風の改行コード(<LF>)と、Windows風の改行コード(<CR>+<LF>)が混在してるんじゃないですか? 混ざっていると、Windows風の改行コードの<CR>部分が^Mと表示されます。 emacsのバージョンや、ターミナルエミュレータでも変わるかもしれませんが… 私の環境は、Fedora Core 5で、ターミナルエミュレーターはgnome-terminal。emacsは21.4.1です。

  • aobei
  • ベストアンサー率42% (14/33)
回答No.3

#2の方の付けたしですが。 viでファイルを開いて :%s/^M//g で一括置換可能かと。 (^Mは「Ctrl+v」「Ctrl+m」で入力します)

  • Lean
  • ベストアンサー率72% (435/603)
回答No.2

Windowsでの改行コードCR+LF、UNIX系OSでの改行コードがLF、なのでWindowsの改行コードCR+LFの内、CRが「^M」として見えています。 たしかEmacsで ○文字コードEUC、改行コードLF C-x RET f "euc-japan-unix" ○文字コードSJIS、改行コードLF C-x RET f "sjis-unix" ○文字コードISO-2022-JP(JIS)、改行コードLF C-x RET f "iso-2022-jp-unix" で文字コードと一緒に改行コードも変更してくれたはず。 ただ、使わなくなって結構経つので間違っているかも。。。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

nkf なんかを使って改行コードを変換するとか

関連するQ&A