CursorLine和NonText / SpecialKey突出显示冲突

时间:2013-04-12 20:37:57

标签: vim

使用:set cursorline:set listNonTextSpecialKey中的字符突出显示组(例如,每行末尾的$,以及由 Ctrl + V 输入生成的^M在光标位于同一行时失去突出显示,恢复为{{ 1}}像任何其他平淡文本一样突出显示组。这非常令人困惑,丑陋和糟糕。

以下是我配置中的相关要点:

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 )保持不变;有没有办法让ConcealNonText保留其亮点?

2 个答案:

答案 0 :(得分:4)

据我所知,没有。 Bram Moolenaar has said关于此事的以下内容:

  

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

答案 1 :(得分:0)

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

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

(vim8)