如何为 GNU emacs 添加彩色语法高亮?

如何为 GNU emacs 添加彩色语法高亮?

emacs我在锁定的工作站上有两个版本可用:

$ /usr/local/bin/emacs --version
GNU Emacs 22.3.1

$ /usr/bin/emacs --version
GNU Emacs 21.4.1

xterm在两种情况下,当我运行任一版本时,我的终端类型都是emacs

当我运行 v21 版本时emacs,我得到了 Perl、HTML 和其他模式的语法着色。

当我运行 v22 版本时,我没有得到语法着色。

我想从 v21 版本迁移,因为 v21 emacs、GNOME 终端和 GNU 屏幕的组合正在占用 Ctrl-箭头键组合键,这使我无法在单词之间快速移动。 (OS X 终端和 GNU 屏幕没有此问题。) v22 版本允许在 GNOME 终端和 GNU 屏幕上使用 Ctrl-箭头键组合键。

我该如何修复 v22 版本(或要求我的系统管理员修复)以便它再次突出显示语法并允许我使用 Ctrl-箭头键组合?

答案1

添加此行

(global-font-lock-mode 1)

到您的 .emacs 文件。

答案2

我遇到了同样的问题,但仅限于 c 和 c++ 模式。感谢 @goedson 的上述提示,我找到了答案。

在这些模式下执行M-x font-lock-mode时,我发现它已启用。(运行时我收到的消息是“字体锁定模式已禁用”。)

通过查阅帮助(以及我的记忆),我想起你必须将颜色应用到缓冲区(“fontify”)。要手动测试,首先确保字体锁定模式已打开,并且你处于编程语言模式(例如 perl、c)。然后执行font-lock-fontify-buffer。如果你得到颜色,那么你将需要将更改应用到你的 .emacs。添加类似以下内容:

(add-hook 'c-mode-hook
          (function (lambda ()
                      (font-lock-fontify-buffer)
                      )))

您将需要用c-mode-hook与您相关的任何模式进行替换,并且可能希望对其他模式重复此操作。(我已经为 c 和 c++ 做过这件事了。)

答案3

我会尝试将我的 TERM 更改为 xtermc、xterm-256 或类似的东西。

另外,Mx list-colors-display 对您有用吗?

相关内容