我目前正在使用两个插件,它们独立工作得很好,但它们会稍微相互干扰:
看起来这两个插件都使用了一种类似的方法,导致高亮样式相互干扰。
我将光标下的单词的突出显示设置为简单地在单词下划线(我尝试将其加粗,但这有点太微妙且太容易被忽视),而不改变它的颜色或任何东西。这本身就非常有效,因为所有单词都继续使用其语法突出显示的颜色。
但是,一旦启用了标记,标记单词的高亮将被光标单词高亮覆盖。由于高光的属性不相交,因此理论上应该可以使标记高光保持不变,并且当光标位于其中任何一个上时,除了它们已经拥有的任何其他样式之外,它们应该简单地获得下划线应用。
鉴于这些插件使用,这是一种可能性matchadd()
吗?是否只是简单地将这个功能添加到 Mark 插件中,以便我们可以多路复用高亮样式来满足同时使用3层样式的需要?最大的问题是,是否可以同时分层 3 种样式?
(我知道第二层是可能的,因为例如 HiCursorWords 可以在评论中给单词下划线,这会导致单词(我将我的评论设置为斜体)变为斜体并加下划线;例如,对于 Mark,评论中的标记单词变得突出显示(背景颜色改变,前景颜色改变,并保持斜体) - 问题是我们可以应用两者以导致显示评论词,背景/前景颜色改变,下划线,仍然是斜体,当我的光标是在上面并且它被标记了吗?)
编辑:它似乎matchadd()
会简单地覆盖任何以前设置的样式matchadd()
。因此,如果我可以让 HiCursorWords 插件检查单词是否已被 Mark 突出显示,那么它可以设置特殊的第三种样式(将突出显示和下划线)。希望有办法。
此外,我注意到/
搜索突出显示样式会覆盖所有其他matchadd
突出显示。因此,我在 word-highlight 中的下划线将被它覆盖。如果我也能在这种情况下显示下划线,那也很好。