make emacs不会自动更改行结束

时间:2012-06-01 05:41:12

标签: emacs

它不是关于使用windows样式的行结束。 我更喜欢unix风格。 但是我不想让emacs为我改变那些windows行尾。对于自动更改有时很烦人

怎么做?

1 个答案:

答案 0 :(得分:1)

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

  

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

C-h i g (emacs) Recognize Coding RET

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

  

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

C-h i g (emacs) Mode Line RET

使用emacs -Q启动Emacs以检查其默认行为。