我想知道是否有办法暂时不在文件中显示^ M个字符。我不想删除它们,我只是想不显示它们。
干杯,
答案 0 :(得分:12)
我使用以下功能(忘记我找到的地方):
(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 []))
答案 1 :(得分:7)
GNU Emacs documentation介绍了如何使用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
字符。
答案 2 :(得分:0)
至少对于emacs 22.3,这似乎只是一个问题,如果你的文件有新行样式的组合,比如在两个windows unix下使用“非开明”编辑器进行编辑。
如果线条始终被终止,则现代emacs将在底部注明它是[dos]模式而不显示^ M.然后智能足以在保存时将^ M放在文件中。
如果你有一些奇怪的组合你可以尝试运行
$ unix2dos FILE
达到一个良好的状态,希望你可以保持它在DOS模式。
我注意到我的xemacs 21.4没有此功能,唉。
这里有一个讨论: http://groups.google.com/group/gnu.emacs.help/browse_thread/thread/676113e90825d4e7