我写了一个 c++ 程序,当我在 ansi-term 中使用 g++ 编译它时,显示了一些奇怪的字符:
如果需要,错误是我没有声明变量 n。我该如何纠正?
啊! 测试了这个...
(setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8-unix)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
问题解决了!!!
看起来gcc
输出包含 UTF-8“智能引号”,并且您的终端未设置为显示 UTF-8。简单的解决方法是locale
在 Emacs 中使用不支持智能引号的 a,它应该强制gcc
回退到纯简 ASCII 引号;更复杂的修复方法是修复 Ansi-Term 缓冲区中的终端模式以正确显示这些。
这些很可能是颜色转义序列。emacs 有一种模式,您可以使用该ansi-color-for-comint-mode-on
功能启用该模式。