gpt4 book ai didi

terminal - 光标线的颜色是在哪里定义的?

转载 作者:行者123 更新时间:2023-12-04 12:01:00 29 4
gpt4 key购买 nike

如果我设置 cursorline选项我将当前光标行加下划线,所有未指定颜色的字符也变为黄色(仅当正常高亮组未触及时才会显示黄色)。我想知道,这种颜色(黄色)是在哪里定义的?

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

CursorLine     xxx term=underline cterm=underline

其中 xxx 为黄色并带有下划线。不想变色,想加 cursorline支持 2html.vim -like plugin 所以我需要一些高亮组/变量/等,我可以从中获得这种黄色。

最佳答案

编辑:您可以使用 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 设置像这样的命令:
:highlight CursorLine  term=underline  guibg=#555555  cterm=underline

这通常在 Vim 颜色方案文件中完成,该文件包含许多这样的行来定义 Vim 用户界面部分的颜色,以及常见的句法元素,如字符串、数字、关键字等。

你可以通过发出 colorscheme 来告诉 Vim 使用什么颜色方案。命令后跟方案名称。这里有一些可以尝试:
:colorscheme desert
:colorscheme evening
:colorscheme koehler

然而,Vim 包含的大多数配色方案实际上并不包含 CursorLine 的高亮命令。元素,所以 Vim 只使用其内置的默认光标线着色。

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

Vim 包括几个配色方案文件,您可以在网上找到更多。这是一个预览数百个的网站:

http://code.google.com/p/vimcolorschemetest/

有关详细信息,请参阅以下帮助主题:
:help :colorscheme
:help :highlight
:help hl-CursorLine

关于terminal - 光标线的颜色是在哪里定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3269218/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com