1

这不是关于使用 windows 风格的线端。我更喜欢unix风格。但我不希望 emacs 为我更改那些 windows 行的结尾。自动更改有时很烦人

怎么做 ?

4

1 回答 1

3

Emacs 不会自动更改 EOL 字符。默认情况下,它会检测并使用文件中现有的 EOL 字符。

Emacs 根据文件的内容识别使用哪种换行符:如果它只看到回车,或者只看到回车换行序列,那么它会相应地选择行尾转换。您可以通过将变量“inhibit-eol-conversion”设置为非“nil”来禁止自动使用行尾转换。如果你这样做,DOS 风格的文件将显示在缓冲区中可见的 `^M' 字符;有些人更喜欢这个,而不是模式行左边缘附近更微妙的“(DOS)”行尾类型指示(*note eol-mnemonic: Mode Line.)。

C-hig (emacs) Recognize Coding RET

当前的 EOL 编码显示在模式行的左侧:

CS 后面的字符通常是冒号。如果显示不同的字符串,则表示对文件进行编码的行尾约定很重要。通常,文本行在文件中由“换行符”分隔,但有时会使用另外两种约定。MS-DOS 约定使用“回车”字符后跟“换行”字符;编辑此类文件时,冒号会变为反斜杠 (`\') 或 `(DOS)',具体取决于操作系统。旧的 Macintosh 系统采用的另一种约定是使用“回车”字符而不是换行符。编辑此类文件时,冒号变为正斜杠 (`/') 或 `(Mac)'。在某些系统上,对于使用换行符作为行分隔符的文件,Emacs 会显示 `(Unix)' 而不是冒号。

C-hig (emacs) Mode Line RET

启动 Emacsemacs -Q以检查其默认行为。

于 2012-06-01T06:13:09.103 回答