编辑:我知道CursorLine高亮组.问题是在我使用它的默认colorscheme中没有定义和:你好CursorLine显示
CursorLine xxx term=underline cterm=underline
其中xxx用黄色和下划线着色.我不想改变颜色,我想为2html.vim类插件添加cursorline支持,所以我需要一些高亮组/变量/ etc,我可以从中得到这种黄色.
:echo synIDattr(synIDtrans(hlID("CursorLine")),"fg")
您还可以使用类似的调用来确定下划线,下划线等的状态.
一些警告:synIDattr()有缺陷且不完整.它有时会意外返回-1,并且当前不允许检查所有属性. (据推测,即将发布的Vim正在开发补丁.)有关更多信息,请参阅以下主题:
Programmatically detect a current “highlight” setting?
如果synIDattr()不能执行您想要的操作,则可能更容易将highlight命令的输出重定向到变量并自行解析:
:redir => cursorline_highlight | silent highlight CursorLine | redir END :echo "CursorLine highlight: " . cursorline_highlight
可以使用像这样的高亮命令设置光标线的颜色:
:highlight CursorLine term=underline guibg=#555555 cterm=underline
这通常在Vim colorscheme文件中完成,该文件包含许多这样的行来定义Vim用户界面部分的颜色,以及常见的句法元素,如字符串,数字,关键字等.
你可以通过发出colorscheme命令后跟一个方案名称告诉Vim使用什么colorscheme.以下是一些尝试:
:colorscheme desert :colorscheme evening :colorscheme koehler
但是,Vim中包含的大多数colorschemes实际上并不包含CursorLine元素的高亮命令,因此Vim只使用其内置的默认光标线着色.
要更改Vim用于光标线的颜色,您可以在.vimrc文件中包含您自己的高亮显示命令(在您发出任何colorscheme命令之后;否则您的高亮颜色可能会被清除).更好的是,您可以制作自己的colorscheme文件并在那里添加适当的高亮语句. (通过找到可容忍的colorscheme,然后复制它并做出你喜欢的任何改变,让自己变得容易.)
Vim包含几个colorscheme文件,你可以在网上找到更多.这是一个预览几百的网站:
http://code.google.com/p/vimcolorschemetest/
有关详细信息,请参阅以下帮助主题:
:help :colorscheme :help :highlight :help hl-CursorLine