Emacs:字体锁解释

时间:2012-03-19 17:48:42

标签: emacs font-lock font-lock-mode

我很长一段时间都在使用Emacs而且我已经定制了很多。我甚至编写了简单的ELisp函数,现在我开始越来越多地使用宏。我不是一个知识渊博的Emacs用户,但我不是一个完全的初学者。

我正在使用nxhtml,mumamo,dired,ido,自定义键绑定以及我多年来添加的许多东西,我不记得所有这些; )

但是我真的从来没有理解过:什么是“字体锁定”模式,我为什么要关心?

例如,我读过nxhtml和nxml,如果我没记错的话,不要使用字体锁定。也许我不理解那部分,但无论如何:作为用户,它对我有什么影响?

或者以此为例介绍 WhiteSpace

  

请注意,当启用WhiteSpace时,WhiteSpace会保存   font-lock状态,即font-lock是打开还是关闭。和白色空间   关闭时恢复字体锁定状态。所以,如果是WhiteSpace   打开并且字体锁定关闭,WhiteSpace也打开了   font-lock突出显示空格,但字体锁定将被关闭   当WhiteSpace关闭时。因此,之前打开字体锁定   如果你想继续使用字体锁,那么WhiteSpace就会启用   WhiteSpace已关闭。

好的,好的。我明白那个。但是,如果字体锁定继续或不继续,它会发生什么变化?

基本上我不会“得到它”,无论我读到多少关于这个主题。

任何关于Emacs下“font-lock”的示例/解释以及它关注我的原因都是最受欢迎的!

2 个答案:

答案 0 :(得分:10)

font-lock-mode ==多彩语法highligthing。 global-font-lock-mode为Emacs中的每个模式启用字体锁定。较旧的Emacs版本要求您手动启用它,较新版本(我认为23+)默认启用此功能。我无法想象许多人会想要关闭此功能,因为它使某些类型的内容(如源代码)更具可读性。每个使用font-lock的模式都依赖于一组 faces - 字体属性的组合,如大小,粗体,下划线,斜体和颜色。大多数模式使用的基本面是:

font-lock-builtin-face
font-lock-comment-face
font-lock-comment-delimiter-face
font-lock-constant-face
font-lock-doc-face
font-lock-doc-string-face
font-lock-function-name-face
font-lock-keyword-face
font-lock-negation-char-face
font-lock-preprocessor-face
font-lock-string-face
font-lock-type-face
font-lock-variable-name-face
font-lock-warning-face

如果您愿意,可以轻松覆盖它们的值(或使用不同的颜色主题)。有些模式也会定义其他面孔。

答案 1 :(得分:4)

它会显示所有不同颜色的代码(注释为红色,类名为绿色等)。如果它关闭,你会得到黑白代码。打开一些代码并执行几次M-x font-lock-mode以观察它是否打开和关闭。

相关问题