加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

terminal – 定义了光标线的颜色在哪里?

发布时间:2020-12-16 01:19:07 所属栏目:安全 来源:网络整理
导读:如果我设置了光标线选项,我将当前光标线加下划线,并且未指定颜色的所有字符也变为黄色(仅当普通高亮组未触及时,黄色才会出现).我想知道,这个颜色(黄色)的定义在哪里? 编辑:我知道CursorLine高亮组.问题是在我使用它的默认colorscheme中没有定义和:你好Cur
如果我设置了光标线选项,我将当前光标线加下划线,并且未指定颜色的所有字符也变为黄色(仅当普通高亮组未触及时,黄色才会出现).我想知道,这个颜色(黄色)的定义在哪里?

编辑:我知道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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读