我刚发现我的程序没有运行,因为在一个字符串中有一个奇怪的(垃圾?)字符,该字符串原本应该显示给用户,但可能在复制粘贴时被引入了。Emacs并没有显示出这个奇怪的字符。我只看到了一个空格(正如预期的那样)。在浪费了三个小时之后,我在Vim中打开了文件,我能够看到一些问号和斜杠。我该如何让Emacs像Vim一样显示这些字符?我附上两个编辑器呈现文本差异的截图。
那些不是“奇怪”的字符。它们(可能)是Unicode的弯曲双引号字符:- 左双引号,“(码点8220) - 右双引号,”(码点8221)您可以通过将光标放在每个字符之前并按C-u C-x =来确定。Emacs正确地显示它们,即以它们本来的字符形式显示,这是正常的。(Emacs没有将它们显示为空格。)您的其他编辑器无法显示它们是一个错误或缺少功能。如果您键入或粘贴可以完美呈现的字符,则不要期望Emacs不会正确呈现它们,而是要发出信号,表明您插入了一些不想要的字符。如果您希望Emacs仅呈现ASCII字符,则请告诉它这样做。然后,这些“奇怪”的字符将以八进制转义或以其他清晰可见的方式呈现。请参阅Emacs手册,节点Coding Systems和Elisp手册,节点Explicit Coding and Decoding。
C-u C-x
。当自动打开一个文件时,如何在Emacs中显示非ASCII字符?我在.emacs
中添加了(prefer-coding-system 'us-ascii)
,但并没有效果。 - babonauto-coding-alist
、auto-coding-regexp-alist
和file-coding-system-alist
。 - Drew