7

使用:set cursorlineand ,当光标在同一行时,和高亮组:set list中的字符(例如,在每行的末尾,由+产生)失去高亮显示,像任何其他平淡的文本一样恢复到高亮组。这是非常令人困惑、丑陋和糟糕的。NonTextSpecialKey$^MCtrlVEnterNormal

这些是我的配置中的相关亮点:

:hi Conceal      term=reverse    cterm=none      ctermfg=237     ctermbg=none
:hi CursorLine   term=underline  cterm=none      ctermfg=none    ctermbg=235
:hi NonText      term=reverse    cterm=none      ctermfg=237     ctermbg=none
:hi Normal       term=none       cterm=none      ctermfg=252     ctermbg=234
:hi SpecialKey   term=reverse    cterm=none      ctermfg=14      ctermbg=23

无论我的高亮配置如何(包括根本没有配置),问题仍然存在。我知道一些高亮组总是胜过其他组,但是其他组(Conceal例如)的语法高亮和高亮保持不变;有没有办法制作NonTextSpecialKey保留他们的亮点?

4

2 回答 2

4

据我所知,没有。Bram Moolenaar就此事发表了以下看法:

没有解决办法。[...]光标线突出显示需要推翻语法突出显示,否则它会在几种情况下消失,尤其是。如果语法突出显示使用背景突出显示。

于 2013-04-12T23:24:14.293 回答
0

如果您只想突出显示光标所在的行号,您可以使用

hi CursorLineNr  term=underline  cterm=none      ctermfg=none    ctermbg=235
hi CursorLine    term=NONE cterm=NONE

(vim8)

于 2017-01-11T12:08:20.340 回答