by shigemk2

当面は技術的なことしか書かない

Emacsにおけるキャリッジリターンとラインフィード

CR vs LF

改行コード - Wikipedia

キャリッジリターン(CR)

\r

ラインフィード(LF)

\n

このページによると、

ASCII文字コードに基づくシステムでは、CR(復帰、0x0D)、LF(改行、0x0A)、またはCR+LFで表している。
LF: UNIX系のシステム。LinuxAIXXenixMac OS XBeOSAmigaRISC OSなど。
CR+LF: CP/M、MP/M、MS-DOSOS/2、Microsoft Windows。
CR: コモドールによるシステム、Apple IIファミリ、Mac OS(バージョン9まで)、OS-9

窓が\r\nで、UNIX系は\n 昔のMac OSは\rという形になる。

Emacsの改行コード

Emacsにおいては、C-x return f を実行することで、
文字コードと改行コードを設定することが可能となる。

詳しい設定方法などはこちらを見ていただければよいのだれど、
Emacs でのファイルの文字コードの確認と設定方法

僕の環境では文字コードutf-8 - -- undecided-unix となっており、
改行コードはLFとなっていた。

この場合Windowsのファイルを開くと、Windowsの改行コードはCRLFなので、
CR(\r)が表示されてしまう。

たとえばCRLFのCSVファイルを
OpenOfficeとかで開くと、1行飛ばしのスプレッドシートが見えてしまうことがある。
気をつけろ!

C-q C-m vs C-q C-j

CRを入力するためにはC-q C-m
LFを入力するためにはC-q C-j

と入力すればよい。

これを利用して、置換なり検索なりしてくれると嬉しい。

追記

ラインフィールドではなく、ラインフィードでした。すみませんでした。