vim - emacs如何为特定的symbol修改颜色
迷茫
迷茫 2017-04-22 08:56:34
0
1
639
  • 现在我emacs中显示的代码颜色如下所示

  • 我现在希望new这个关键字可以用其他的颜色高亮而不是白色,然后在代码中的数字也可以用其他颜色高亮而不是白色

自己折腾了一个elisp配置

(add-hook 'after-change-major-mode-hook
      '(lambda () (font-lock-add-keywords 
                   nil 
                   '(("[^a-zA-Z]\\([0-9]+\\)[^a-zA-Z]" 
                      1 font-lock-warning-face prepend)))))

但是发现一个问题就是,普通代码中的数字的确是用非白色高亮了,可是字符串中的数字也被高亮了,我想重新写一个判断是否为字符串的hook去覆盖,但是折腾了半天也不对,new关键字的高亮也是一样,在代码中高亮了,字符串和注释中也是被高亮了,反而不好看了

而且还有一个问题就是,上面这个简陋的正则只能让

foo1

显示正常

如果是

foo11
foo111

之类的变量中连续超过两个数字的话,变量中得数字也会被不同颜色高亮了

正则不是很精通,请大大们指点一下,该装什么mode或者写个啥hook可以满足我地需求

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(1)
阿神

Cela ne doit pas être si compliqué. Je n'expliquerai pas les techniques spécifiques. En plus de modifier le thème de couleur, j'utilise la méthode de note de bas de page suivante pour mettre en évidence les trois chaînes l1 l2 l3 :

#+STARTUP: content
# Local Variables:
# eval: (highlight-phrase "\bl1\b" (quote hi-pink))
# eval: (highlight-phrase "\bl2\b" (quote hi-yellow))
# eval: (highlight-phrase "\bl3\b" (quote hi-green))
# End:

Théoriquement, il peut être associé au mode en le connectant à un mode-hook. Pour plus de détails, vous pouvez effectuer une recherche associée.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal