编辑:您可以使用synIDattr()
函数查询特定高光组的大部分值。例如,这将打印分配给CursorLine
前景色如果已设置:
:echo synIDattr(synIDtrans(hlID("CursorLine")), "fg")
您还可以确定的underline
,undercurl
等国家,类似的电话。
几个警告:synIDattr()
是越野车和不完整。它有时会意外返回-1,并且当前不允许检查所有属性。 (补丁是所谓的作品为即将举行的Vim的版本。)请参阅这些线程的详细资料:
Problem with synIDattr()
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色彩方案文件内完成的,其中包含许多这样的线来定义颜色Vim的用户的部分:光标线的颜色可以与highlight
命令像这样的设置界面以及字符串,数字,关键字等常见语法元素。
通过发出colorscheme
命令后跟一个方案名称,可以告诉Vim要使用哪种颜色方案。这里有一些尝试:
:colorscheme desert
:colorscheme evening
:colorscheme koehler
然而,大多数colorschemes的包括在Vim中并不真正包含一大亮点命令为CursorLine
元素,所以Vim的只是使用其内置的默认cursorline着色。
要改变Vim使用cursorline的颜色,你可以在你.vimrc
文件包括您自己的highlight
命令(后,你发出的任何colorscheme
命令,否则你的高亮色彩可能会被清除)。更好的是,你可以制作自己的colorcheme文件并在其中添加适当的高亮语句。 (很容易让你自己找到一个可容忍的色彩方案,然后复制它,使任何变化,你喜欢的。)
Vim中包括几个色彩方案文件,你可以找到更多的网上。下面是预览几百个站点:
http://code.google.com/p/vimcolorschemetest/
请参阅以下帮助主题的详细信息:
:help :colorscheme
:help :highlight
:help hl-CursorLine
属于对superuser.com – 2010-07-16 22:18:18
见下面根据您的更新我编辑的回应。 – 2010-07-18 00:52:12