2012-06-01 26 views
0

它不是關於使用Windows風格行結束。 我更喜歡unix風格。 但我不希望emacs爲我改變那些窗口行結束。它有時很煩人的自動更改使emacs不會自動更改行結束

如何做到這一點?

+0

我不得不說,雖然答案很長,來回的對話。實際上這可能是SRC管理工具中的一個問題。無論如何關閉這個。 – zinking

回答

1

Emacs不會自動更改EOL字符。默認情況下,它會檢測並使用文件中現有的EOL字符。

Emacs根據文件的內容識別使用哪種類型的行尾轉換:如果僅看到回車符或僅回車換行符序列,則選擇結束符相應的換行。您可以通過將變量`inhibit-eol-conversion'設置爲非`nil'來禁止自動使用行尾轉換。如果你這樣做,DOS風格的文件將顯示'^ M'字符在緩衝區中可見;有些人更喜歡靠近模式行左邊緣附近的更微妙的'(DOS)'行尾類型指示(* note eol-mnemonic:Mode Line。)。

我克(emacs) Recognize CodingRET

當前EOL編碼在模式線的左手側表示:CS後

字符通常是冒號。如果顯示不同的字符串,則表示對文件進行編碼的非平凡的行結束約定。通常,文本行由文件中的「換行符」分隔,但有時會使用其他兩種約定。 MS-DOS約定使用「回車」字符後跟一個「換行」字符;編輯這些文件時,根據操作系統的不同,冒號會變爲反斜線('\')或'(DOS)'。老式Macintosh系統採用的另一種慣例是使用「回車」字符而不是換行符;編輯這些文件時,冒號會變成正斜槓(`/')或`(Mac)'。在某些系統上,Emacs顯示`(Unix)'而不是使用換行符作爲行分隔符的文件的冒號。

C-H我克(emacs) Mode LineRET

emacs -Q啓動Emacs以檢查它的默認行爲。

+0

對不起,幾乎忘了這個問題,它仍然存在於我的Emacs中,真煩人。在emacs加載後,在windows中正確顯示的行變成亂碼,我已經明確地設置了配置,但它仍然不工作:$(setq inhibit-eol-conversion nil)$。窗口行繼續存在爲^ M。 – zinking

+0

在模式行中報告的EOL模式是什麼? – phils

+0

- = - U:%% - F1 fix102.xml全部(1,0) P4-2(nXML Valid Outl Fly Abbrev) - @phils這是模式行,但我確實將該變量設置爲零。我如何將緩衝區更改爲DOS類型? – zinking