如何查找vim中高亮显示的定义位置?

6
我正在尝试更改vim中“Folded”高亮显示的方式。我使用的是“koehler”配色方案,我的折叠行在gvim中以青色显示在灰色背景上,这完全无法阅读。我认为我可以编辑koehler.vim配色方案文件中负责此组的:highlight命令的定义,但该文件中没有“Folded”的定义。
我验证了我已经加载了koehler配色方案:
:echo g:colors_name
koehler

然后我用在另一篇帖子中找到的命令列出了所有的高亮组:

:so $VIMRUNTIME/syntax/hitest.vim   

Highlighting groups for various occasions
-----------------------------------------
[...]
Folded  Folded
FoldColumn  FoldColumn
[...]

“Folded”组显示的颜色很丑,我在我的文件中也看到了相同的颜色。我正在编辑的文件是一个“viki”文件,但是我用perl脚本得到了完全相同的结果,因此,“Folded”的高亮必须在某个中心位置定义。我在我的.vimrc中没有任何:hilight命令。

我该如何找出这个组定义的位置?

2个回答

16
抱歉,我只能使用英语回答问题。
:verbose hi Folded

您应该能够显示 Folded 属性上次修改的位置。(通常是活动的颜色方案文件)


1

(hitest.vim 不会告诉你任何东西定义的位置。只是告诉你什么被定义和分组了。)

那看起来可能是默认设置。您可以在颜色方案中覆盖它(最简单的方法是将$VIMRUNTIME/colors/koehler.vim复制到~/.vim/colors/koehler.vim并添加行),就像这样:

hi FoldColumn      guifg=#465457 guibg=#000000
hi Folded          guifg=#465457 guibg=#000000

(该示例来自我使用的主题molokai,其具有相当不错的折叠颜色。)


谢谢 - 是的,看来这是在这里最好的事情。出于好奇:那些默认值会在哪里定义? - tospo
尝试运行Xavier的:verbose hi Folded命令,跳过vimrc并更改颜色方案,它声称设置在/usr/share/vim/vim73/colors/koehler.vim中,但实际上并没有。我怀疑这意味着它是硬编码的。 - Chris Morgan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接