Terminal 光标线的颜色定义在哪里?

Terminal 光标线的颜色定义在哪里?,terminal,highlighting,vim,colors,Terminal,Highlighting,Vim,Colors,如果我设置了cursorline选项,我会在当前光标线下加下划线,并且所有未指定颜色的字符也会变为黄色(只有在正常高光组未被触碰时才会显示黄色)。我想知道,这种颜色(黄色)的定义是什么 编辑:我知道CursorLine突出显示组。问题是,在我使用的默认配色方案中,它没有定义,并且:hi CursorLine显示 CursorLine xxx term=underline cterm=underline 其中xxx用黄色和下划线表示。我不想更改颜色,我想添加cursorline对2htm

如果我设置了
cursorline
选项,我会在当前光标线下加下划线,并且所有未指定颜色的字符也会变为黄色(只有在正常高光组未被触碰时才会显示黄色)。我想知道,这种颜色(黄色)的定义是什么

编辑:我知道
CursorLine
突出显示组。问题是,在我使用的默认配色方案中,它没有定义,并且
:hi CursorLine
显示

CursorLine     xxx term=underline cterm=underline

其中xxx用黄色和下划线表示。我不想更改颜色,我想添加
cursorline
2html.vim
类插件的支持,因此我需要一些高亮组/变量/etc,从中可以获得黄色。

编辑:您可以使用
synIDattr()
函数查询特定高亮组的大多数值。例如,如果设置了一种前景颜色,这将打印指定给
光标线的前景颜色:

:echo synIDattr(synIDtrans(hlID("CursorLine")), "fg")
您还可以使用类似的调用来确定
下划线
底端
等的状态

有几个警告:
synIDattr()
有缺陷且不完整。它有时会意外返回-1,并且当前不允许检查所有属性。(Vim即将发布的版本中可能有一个补丁。)有关更多信息,请参阅以下线程:

如果
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中包含的大多数颜色方案实际上并不包含用于
CursorLine
元素的highlight命令,因此Vim只使用其内置的默认CursorLine颜色

要更改Vim用于光标线的颜色,可以在
.vimrc
文件中包含自己的
高亮显示
命令(在发出任何
颜色方案
命令后;否则高亮显示的颜色可能会被清除)。更好的是,您可以创建自己的colorscheme文件,并在其中添加适当的突出显示语句。(通过找到一个可接受的配色方案,然后复制它并进行任何您喜欢的更改,让自己变得轻松。)

Vim包含几个colorscheme文件,您可以在网上找到更多。这里有一个网站可以预览几百个:

有关详细信息,请参阅以下帮助主题:

:help :colorscheme
:help :highlight
:help hl-CursorLine

在结肠上,光标线的颜色属性称为“光标线”。例如,袋熊配色方案使用以下行:

hi CursorLine guibg=#2d2d2d
如果要更改默认的配色方案,则文件(在大多数Linux发行版上)存储在/usr/share/vim/vim72/colors上

只有一个注意事项:CursorLine选项仅适用于Vim 7以上版本,因此在极不可能的情况下,如果您将该colorscheme用于7(或Vi)之前的版本,则应在colorscheme文件中查询该版本,例如:

if version >= 700
  hi CursorLine guibg=#2d2d2d
endif

另外,请查看superuser.com上的一些其他自定义方法。请参阅下面根据您的更新编辑的回复。不建议更改/usr/share/vim或任何其他系统范围的位置中的文件,否则升级vim时必须保存并移动它们。如果您喜欢其中一个,并且只想更改某些内容,请将该文件复制到您自己的~/.vim/colors/whatever.vim中(我建议您将其重命名为您选择的新名称)。现在编辑该文件并将g:colors\u name更改为您为该文件选择的名称,并更改/添加您想要的任何突出显示组。注意,在windows上,您的用户特定路径将是
$HOME\vimfiles
。您可以通过
:set rtp?
查看vim在运行时使用的路径。