不一致 vim 在各种语法中突出显示

Inconsistent vim highlighting throughout various syntax

我正在从头开始构建配色方案,当我通过语法组时,我注意到总体上存在很多不一致之处。

hi Comment      ctermfg=129  ctermbg=129  cterm=italic     
hi Boolean      ctermfg=3    ctermbg=none cterm=bold   

评论基本上被忽略了,因为它们应该是紫色和斜体,而不是它们都是不同的颜色而不是斜体。布尔值也都显示不同的颜色,但它们看起来确实是粗体。

hi String       ctermfg=10   ctermbg=none cterm=italic 

另一方面,字符串没有任何问题。

我在这里使用了 Javascript 和 Python 文件进行测试,但到处都是乱码(CSS、HTML、Rust、C、Shell ).

我正在使用 rxvt-unicode 并且可以毫不费力地将紫色分配给字符串。

有点不确定如何在这里进行。可能是什么问题?

首先确保您查看的是正确的行,即该代码正在使用您认为应该使用的高亮组。您可以使用以下映射 from the vim tips:

map <F10> :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<'
            \ . synIDattr(synID(line("."),col("."),0),"name") . "> lo<"
            \ . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">"<CR>

F10 将显示光标下单词的高亮组。

如果问题仍然存在,您可以:

  1. 切换终端检查是否是urxvt特有的问题
  2. 按照 Vim FAQ 2.5 - "I have a "xyz" (some) problem with Vim. How do I determine it is a problem with my setup or with Vim? / Have I found a bug in Vim?"
  3. 上的程序确保没有 plugin/setting 干扰
  4. 勾选 Vim FAQ on syntax highlighting

您可能也对 ColorSchemeEditor plugin 感兴趣:

This plugin provides a GUI tool which simplifies creating/editing Vim colorscheme files. It consists of a Vim plugin as well as a Python program, and utilizes Vim's command server interface |clientserver| for communications.