- 締切済み
Windowsのファイルを読み込むと、改行の位置に「^M」が・・・
Windowsのファイルを emacs で読み込むと、改行の位置にすべて「^M」が表示されていてうっとうしいのですが、^Mを表示しない方法はないでしょうか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10358)
改行コードは、LFのみ、CRのみ、CRLFという3種類がありますが、emacsは自動判別してくれます。 ^Mが表示されているということは 1)LFのみとCRLFの改行が混在している 2)自動判別がうまくいってない の2通りの原因が考えられます。普通にWindowsで作ったファイルであれば1)は考えにくいので、2)が原因だと思います。 設定ファイルで改行コードをLFのみに決め打ちしているのではないでしょうか。.emacsはデフォルトですか?何か変更しましたか?coding-systemについての設定はありませんか?
- astronaut
- ベストアンサー率58% (303/516)
Windowsの改行コードでも普通は化けませんけどね~ UNIX風の改行コード(<LF>)と、Windows風の改行コード(<CR>+<LF>)が混在してるんじゃないですか? 混ざっていると、Windows風の改行コードの<CR>部分が^Mと表示されます。 emacsのバージョンや、ターミナルエミュレータでも変わるかもしれませんが… 私の環境は、Fedora Core 5で、ターミナルエミュレーターはgnome-terminal。emacsは21.4.1です。
- aobei
- ベストアンサー率42% (14/33)
#2の方の付けたしですが。 viでファイルを開いて :%s/^M//g で一括置換可能かと。 (^Mは「Ctrl+v」「Ctrl+m」で入力します)
- Lean
- ベストアンサー率72% (435/603)
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)
nkf なんかを使って改行コードを変換するとか
お礼
みなさま、ありがとうございます。 お返事遅れて済みません。 全部Windowsで作ったので、2)ですね。 emacs はデフォルトなのですが・・