当我打开某些代码时,我在emacs中遇到了奇怪的角色。就像^ M。我认为这与字符编码有关,或者可能不是。有什么能帮到我的。谢谢。
答案 0 :(得分:7)
这是一个回车符(CR)字符(因为该文件可能有窗口行结尾:CRLF)。
你可以摆脱emacs中的那些行结尾
M-x replace-string RET C-q C-M RET RET
答案 1 :(得分:4)
编辑:我之前的信息不太正确
如果要在保存时设置Windows编码,C-x <return> f dos <return>会将文件设置为以dos编码保存,因此Windows用户可以正确读取它。同样,你可以做C-x&lt; return&gt; f unix&lt; return&gt;使文件在保存时更改为unix格式。
C-x <return> r dos yes
将切换到当前缓冲区中的dos模式(修复行结尾,并保留文件的格式),这可能就是你想要的。
答案 2 :(得分:0)
当你打开一个文件,看到编码不正确(例如,到处都是^ M个字符,或者说是unicode垃圾)时,我觉得M-x revert-buffer-with-coding-system RET dos RET
最简单(用utf-16替换dos或者其他什么)你需要)。
这样您就可以在其首选编码系统中打开该文件。如果您需要更改编码系统,则可以set-buffer-file-coding-system
(C-x RET f
)将其切换为unix。