56 emacs
有时我需要在行结尾中读取具有^ M(control-M)的日志文件.我可以做一个全局替换来摆脱它们,但随后会有更多内容记录到日志文件中,当然,它们都会回来.
设置unix样式或dos样式的行尾编码似乎没有多大区别(但unix样式是我的默认值).我正在使用未定 - (unix | dos)编码系统.
我在Windows上,读取log4net创建的日志文件(虽然log4net显然不是这种烦恼的唯一来源).
任何提示?
bin*_*nOr 76
(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 []))
Run Code Online (Sandbox Code Playgroud)
Edr*_*ric 19
Emacs的现代版本,知道如何处理UNIX和DOS行结束,所以当^ M的文件中显示出来,这意味着有两个文件中的混合物.当存在这样的混合时,emacs默认为UNIX模式,因此^ Ms是可见的.真正的解决方法是修复程序创建文件,以便它使用一致的行结尾.
关于什么?
C-x RET c dos RET C-x C-f FILENAME RET
Run Code Online (Sandbox Code Playgroud)
我制作了一个有两行的文件,第二行有一个回车符.Emacs会在Unix编码中打开文件,切换编码系统什么都不做.但是,universal-coding-system-argument上面的工作.
我相信您可以将文件使用的行编码系统更改为 Unix 格式
C-x RET f UNIX RET
Run Code Online (Sandbox Code Playgroud)
如果这样做,模式行应该更改为添加单词“(Unix)”,并且所有这些 ^M 都应该消失。
| 归档时间: |
|
| 查看次数: |
28787 次 |
| 最近记录: |