我是一位emacs noob,但不太清楚如何找到它。我使用solarized light颜色主题,这是一个低对比度主题,具有智能口音以保持可读性。他们在vim版本中做的一件事是突出显示字符串分隔符(意思是某些语言中的双引号和单引号),然后与字符串的其余部分不同,以使它们更加突出。在emacs字符串中突出显示“”
主题的emacs端口没有这个,但是我看到一些非常疯狂的东西发生在字体锁定机制(如http://www.emacswiki.org/emacs/HexColour),所以我认为这是可能的。
那么有可能突出显示字符串分隔符?如果是这样,我应该在哪里寻找关于如何做的更多信息?
编辑:
试图让Jon O.的答案工作。首先,我在试图将其添加到每个模式尝试
(defface my-string-delimiter-face
'((t (:foreground "red" :weight bold)))
"My custom face for string delimiters")
(add-hook 'after-change-major-mode-hook
(lambda()
(font-lock-add-keywords nil '(("\\s\"\\|\\s|" 0 solarized-string-delimiter-face t)))))
(没有工作)
于是我试着用
(font-lock-add-keywords 'emacs-lisp '(("\\s\"\\|\\s|" 0 solarized-string-delimiter-face t)))
更换钩表达在试图刚让事情工作,同样的事情(没有工作)
对于一个漫长而漫长的问题,很好的答案,似乎无法让它工作,虽然(在编辑中解释了这个问题,因为它的一堆代码)感谢您的帮助! –
@MattBriggs:我想你可能需要在面名('solarized-string-delimiter-face')之前加'''。我总是忘记这一点,因为默认的字体锁定面既可以作为变量也可以引用符号。我编辑了我的答案以反映这一点 - 它现在似乎对我有用,它对你有帮助吗? –
@MattBriggs:另外,在你的第二个例子中,你需要编写'(font-lock-add-keywords'emacs-lisp-mode ...',因为'emacs-lisp-mode'是主要模式 –