【问题标题】:C++ Keywords not Colored in EmacsC++ 关键字在 Emacs 中未着色
【发布时间】:2017-03-21 21:40:56
【问题描述】:

我使用 emacs 已经有一段时间了,主要用于 python 编程,并且已经开始使用它进行 C++ 编码。当我打开一个 c++ 文件时,它以 c++ 模式打开而没有问题。背景和前景色对于我使用颜色主题的主题是正常的,但关键字和字符串的颜色没有不同。下面是我的 .emacs 中用于初始化颜色主题的代码。

(add-to-list 'load-path "D:\\emacs\\color-theme-6.6.0")
(require 'color-theme)
(color-theme-initialize)
(setq color-theme-is-global t)
(color-theme-hober)

我没有为 c++ 添加任何代码。有什么想法吗?

编辑:我尝试关闭颜色主题以查看是否至少会有一些颜色,但没有,即使在确保字体锁定模式打开后也是如此。另外,这是 GNU Emacs 23.1.1

【问题讨论】:

    标签: c++ emacs


    【解决方案1】:

    将光标放在关键字上并执行M-x describe-face。面部应标识为font-lock-keyword-face,并给出面部描述。此时应该更容易确定关键字是否具有错误的面孔,或者面孔只是具有默认外观。您还可以使用 describe-mode 仔细检查 font-lock-mode 是否打开。

    【讨论】:

      【解决方案2】:

      我终于通过从文件夹 d:/emacs 中删除一个名为 site-lisp 的文件夹来突出显示语法。我的 Emacs 安装在 d:/emacs/emacs-23.1 中,不知何故它是从这些文件中读取的。因此,我认为删除此文件夹会迫使 Emacs 使用正确的文件夹。

      【讨论】:

        【解决方案3】:

        (font-lock-mode) 应该有帮助(使用非否定参数来确保它已打开)

        【讨论】:

        • 我尝试了 C-u 2 M-x font-lock-mode,收到一条消息说 font-lock-mode 已启用并且没有发现任何区别。我还尝试将 (font-lock-mode t) 放在我的 .emacs 文件中,但没有任何改变。
        • 我已将 (font-lock-fontify-buffer) 附加到一个键上,但我从不使用它。这对我来说是字体锁定模式。也许你在 options->"Syntax Highlighting" 中找到了一些东西。
        • 顺便说一句,这是 xemacs21,虽然我也在 gnu-emacs 中使用过。
        • 感谢字体锁定字体缓冲区。我已将 (add-hook 'c++-mode-hook 'font-lock-fontify-buffer) 添加到我的 .emacs 中,它突出显示了字符串和 cmets,但关键字仍然保持不变。我不知道为什么 font-lock-fontify-buffer 有效,而不是 font-lock-mode。
        【解决方案4】:

        通常这应该在标准安装上直接开箱即用 - 使用“-q”选项验证启动 emacs 以避免从您的 init 文件加载内容。我已经通过快速安装(在 XP Pro 上)official 23.2 binaries 验证了这一点。这是输出:(由于声誉低,显然无法发布图片 - 链接是 img444.imageshack.us/img444/2680/46117077.png)。

        如果这显示的代码如您所愿,那么您的 init 文件存在问题 - 我建议使用标准方法将所有内容注释掉并有选择地重新添加内容,直到遇到违规行。

        【讨论】:

        • 不,即使使用 -q,它的加载方式也没有区别。也许我会尝试移动到 23.2,看看是否能解决这个问题。
        猜你喜欢
        • 2018-02-10
        • 2017-07-07
        • 1970-01-01
        • 2014-08-15
        • 1970-01-01
        • 1970-01-01
        • 2014-09-01
        • 1970-01-01
        • 2011-12-19
        相关资源
        最近更新 更多