我想知道是否有一种方法可以暂时不显示文件中的^M字符。
我不想删除它们,只想暂时不显示它们。
我想知道是否有一种方法可以暂时不显示文件中的^M字符。
我不想删除它们,只想暂时不显示它们。
我使用以下函数(忘记在哪里找到的):
(defun hide-ctrl-M ()
"Hides the disturbing '^M' showing up in files containing mixed UNIX and DOS line endings."
(interactive)
(setq buffer-display-table (make-display-table))
(aset buffer-display-table ?\^M []))
GNU Emacs 的文档介绍了如何使用revert-buffer-with-coding-system
来处理文本编码:
C-x <RET> r coding <RET>
Revisit the current file using the coding system coding (revert-buffer-with-coding-system).
如果系统没有自动检测到正确的编码,您可以输入以下命令:
C-x RET r dos RET
这样可以避免显示^M
字符,而不会实际修改文件。
utf-8-hfs-dos
,而不仅仅是dos
(使用emacs 25.3.1)。 - BungleFeet至少在emacs 22.3中,如果您的文件具有换行样式的组合(例如在Windows和Unix下使用“非启蒙”编辑器进行编辑),则似乎只会出现此问题。
如果行以^M结尾,则现代emacs将在底部注明它处于[dos]模式,并且不显示^M。然后,当您保存时,它足够聪明地将^M放入文件中。
如果您有一些奇怪的组合,可以尝试运行
$ unix2dos FILE
为了达到一个良好的状态,希望您可以在DOS模式下保持它。
我注意到我的xemacs 21.4没有这个功能,遗憾。
这里有一个讨论: http://groups.google.com/group/gnu.emacs.help/browse_thread/thread/676113e90825d4e7