如何找出vim高亮定义的位置?

tos*_*spo 4 vim color-scheme highlighting

我正在尝试更改vim中突出显示的组合"折叠".我正在使用颜色方案"koehler",我的折叠线在gvim的灰色背景上显示为青色,这是完全不可读的.我以为我可以在koehler.vim颜色方案文件中编辑负责此组的:highlight命令,但该文件中没有"折叠"的定义.

我确认我有配色方案koehler:

:echo g:colors_name
koehler
Run Code Online (Sandbox Code Playgroud)

然后我用另一篇文章中的命令列出了所有突出显示的组:

:so $VIMRUNTIME/syntax/hitest.vim   

Highlighting groups for various occasions
-----------------------------------------
[...]
Folded  Folded
FoldColumn  FoldColumn
[...]
Run Code Online (Sandbox Code Playgroud)

"折叠"组以我在文件中看到的丑陋颜色显示.我正在编辑的文件是一个"viki"文件,但我对perl脚本完全相同,因此必须在中心位置定义"折叠"的突出显示.我的.vimrc中没有任何:hilight命令.

我怎样才能找出这个组的定义?

Xav*_* T. 9

运用

:verbose hi Folded
Run Code Online (Sandbox Code Playgroud)

您应该能够显示上次修改Folded属性的位置.(通常答案是活动colorscheme文件)


Chr*_*gan 1

hitest.vim不会告诉您在哪里定义了任何内容。只告诉您定义和分组的内容。

看起来这可能是默认设置。您可以在颜色方案中覆盖它(最简单的方法是复制$VIMRUNTIME/colors/koehler.vim~/.vim/colors/koehler.vim添加线条),如下所示:

hi FoldColumn      guifg=#465457 guibg=#000000
hi Folded          guifg=#465457 guibg=#000000
Run Code Online (Sandbox Code Playgroud)

(该示例取自我使用的主题molokai,它具有相当漂亮的折叠颜色。)