terminal – 定义了光标线的颜色在哪里?
如果我设置了光标线选项,我将当前光标线加下划线,并且未指定颜色的所有字符也变为黄色(仅当普通高亮组未触及时,黄色才会出现).我想知道,这个颜色(黄色)的定义在哪里?
编辑:我知道CursorLine高亮组.问题是在我使用它的默认colorscheme中没有定义和:你好CursorLine显示 CursorLine xxx term=underline cterm=underline 其中xxx用黄色和下划线着色.我不想改变颜色,我想为2html.vim类插件添加cursorline支持,所以我需要一些高亮组/变量/ etc,我可以从中得到这种黄色.
编辑:您可以使用synIDattr()函数查询特定突出显示组的大多数值.例如,如果已设置CursorLine,它将打印分配给CursorLine的前景色:
:echo synIDattr(synIDtrans(hlID("CursorLine")),"fg") 您还可以使用类似的调用来确定下划线,下划线等的状态. 一些警告: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 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |