Vim 光标线和非文字/特殊标记高亮显示冲突
使用Vim 光标线和非文字/特殊标记高亮显示冲突,vim,Vim,使用:set cursorline和:set list,非文本和SpecialKey突出显示组中的字符(例如,每行末尾的$,以及由Ctrl+VEnter生成的^M)在光标位于同一行时将失去突出显示,恢复到Normal突出显示组,与任何其他平淡文本一样。这是非常混乱、丑陋和糟糕的 以下是我的配置中的相关亮点: :hi Conceal term=reverse cterm=none ctermfg=237 ctermbg=none :hi CursorLine
:set cursorline
和:set list
,非文本
和SpecialKey
突出显示组中的字符(例如,每行末尾的$
,以及由Ctrl+VEnter生成的^M
)在光标位于同一行时将失去突出显示,恢复到Normal
突出显示组,与任何其他平淡文本一样。这是非常混乱、丑陋和糟糕的
以下是我的配置中的相关亮点:
: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
无论我的突出显示配置如何(包括根本没有配置),问题仍然存在。我知道一些突出显示组总是胜过其他组,但语法突出显示和其他组的突出显示(例如,
隐藏
)保持不变;有没有办法让非文本
和SpecialKey
保留它们的亮点?据我所知,没有。Bram Moolenaar在这个问题上:
没有解决办法。[…]光标线突出显示需要否决语法突出显示,否则它会在几种情况下消失,特别是如果语法突出显示使用背景突出显示
如果只想突出显示光标所在的行号,可以使用
hi CursorLineNr term=underline cterm=none ctermfg=none ctermbg=235
hi CursorLine term=NONE cterm=NONE
(vim8)是否不可能使其中一个背景/前景突出显示优先?但是,大多数(如果不是所有的话)其他语法突出显示组不受影响;只有特殊字符被覆盖。如果它是统一的,我会理解的,例如光标线用普通组替换了所有语法突出显示,但它不是,你的回答暗示它是全部或无。