编辑器 – Vimscript – 以编程方式从colorscheme获取颜色
我正在尝试在Vimscript中创建一个autocmd,它根据我的需要设置了colorscheme的一些属性.具体来说,我正在尝试使NonText背景与常规背景颜色相同.
问题是,我不知道如何从vimscript中获取colorscheme的背景颜色. 有人有主意吗? 编辑: 所以这就是我想要实现的目标.实际上有几件事: >最初,我试图隐藏在所有不存在的线前面的“?”.有人建议将它设置为与背景相同的颜色,所以我添加了一个执行此操作的autocmd:hi NonText guifg = bg. 而且,我决定即使没有整个“摆脱?”问题,当缓冲区的不存在部分是不同的颜色时,我不喜欢它. 最后,我试图了解一般的vim colorschemes,因为我打算编写一个插件,需要一些其他技巧,比如从方案中找出颜色. 解决方法
这里有两种方法:
>使用hi NonText.当然,并不是唯一的,但有:redir.我不会描述它更冗长,因为我个人不喜欢使用任何解决方案:redir有很多原因(它们是:1.需要解析2.没有嵌套重定向3.无法知道重定向是否有效). let bgcolor=synIDattr(hlID('NonText'),'bg#') 将“#rrggbb”形式的东西(在终端中只是“N”)分配给变量bgcolor,如果没有为该组定义背景,则分配-1.您可以使用它来构造:hi命令(常规背景应在Normal组中定义). hi link NonText Ignore .除非您的colorscheme重新定义了Ignore组,否则它将被实际显示. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |