首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在emacs中隐藏^M

问在emacs中隐藏^M
EN

Stack Overflow用户
提问于 2009-04-08 16:20:37
回答 12查看 30.7K关注 0票数 60

有时我需要读取行结尾为^M (control-M)的日志文件。我可以做一个全局替换来消除它们,但是更多的东西会记录到日志文件中,当然,它们都会回来。

设置unix风格或dos风格的行尾编码似乎没有太大区别(但unix风格是我的默认设置)。我使用的是未决定的-(unix|dos)编码系统。

我在windows上阅读log4net创建的日志文件(尽管log4net显然不是这种烦恼的唯一来源)。

有什么提示吗?

EN

回答 12

Stack Overflow用户

发布于 2009-04-15 09:33:34

代码语言:javascript
复制
(defun remove-dos-eol ()
  "Do not show ^M in files containing mixed UNIX and DOS line endings."
  (interactive)
  (setq buffer-display-table (make-display-table))
  (aset buffer-display-table ?\^M []))

作者声明: Solution by Johan Bockg­rd.我发现它是here。

票数 81
EN

Stack Overflow用户

发布于 2009-04-09 07:00:26

现代版本的emacs知道如何同时处理UNIX和DOS行结尾,所以当^M出现在文件中时,这意味着文件中混合了这两种情况。当存在这样的混合时,emacs默认为UNIX模式,因此^Ms是可见的。真正的修复方法是修复创建文件的程序,使其使用一致的行尾。

票数 18
EN

Stack Overflow用户

发布于 2009-04-08 17:43:37

关于?

代码语言:javascript
复制
C-x RET c dos RET C-x C-f FILENAME RET

我制作了一个有两行的文件,第二行有一个回车符。Emacs会以Unix编码打开文件,而切换编码系统则不做任何事情。但是,上面的universal-coding-system-argument可以正常工作。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/730751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档