[英]Word-under-cursor highlighting *and* multi-highlighting in Vim
我目前正在使用两个插件,这些插件可以独立很好地工作,但是会互相干扰一些:
看来这两个插件都使用一种相似的方法,导致高亮样式相互干扰。
我将光标下方的单词的突出显示设置为仅在单词下划线(我尝试将其加粗,但这有点太微妙,太容易忽略了),而无需更改其颜色或任何内容。 当所有单词继续使用其语法突出显示中的颜色时,这本身就可以很好地发挥作用。
但是,一旦还启用了标记,则标记的单词的突出显示将被光标词突出显示覆盖。 由于高光的属性不相交,因此从理论上应该可以使高光保持不变,并且当光标位于高光上时,除了已有的其他样式外,它们还应该简单地获得下划线。应用。
考虑到这些插件使用matchadd()
,是否有可能? 仅仅是将这个功能添加到Mark插件中,以便我们可以复用突出显示样式以同时满足第3层样式的需要,这是简单的问题吗? 最大的问题是,是否甚至可能同时对3种样式进行分层?
(我知道可以在第二层进行分层,因为例如HiCursorWords可以在注释中对单词加下划线,这会导致该单词(我将我的注释设置为斜体)变为斜体和下划线;例如,使用Mark,注释中的标记单词变为突出显示(背景颜色已更改,前景色已更改并保持斜体)-问题是我们可以同时应用这两个选项,以使注释字词在背景/前景颜色更改,加下划线并仍然斜体时显示时,我的光标上面有标记吗?)
编辑:看来matchadd()
会简单地覆盖matchadd()
设置的任何先前样式。 因此,如果我可以通过HiCursorWords插件检查该单词是否已被Mark突出显示,则可以设置一个特殊的第三种样式(将同时突出显示和加下划线)。 希望有办法。
此外,我注意到/
搜索突出显示样式会覆盖所有其他matchadd
突出显示。 因此,我突出显示的下划线将被其覆盖。 如果我能在这种情况下也能显示下划线,那也很好。
没错,高光组没有分层 。 基本上,语法插件, matchadd()
和当前的搜索模式都具有突出显示的内容。 (有一个未决的补丁程序,可以使用:syntax
命令添加/删除属性;您可以在vim_dev邮件列表中找到相关讨论。)
由于HiCursorWords插件使用了类似于Mark的 matchadd()
,因此您可以尝试使用我的替代SearchHighlighting插件 ,该插件还提供光标下单词的突出显示功能,但使用默认的搜索突出显示功能。
说到搜索突出显示和matchadd()
,您可以通过matchadd()
的可选{priority}
参数(排在matchadd()
必须大于0)来影响排在顶部。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.