Sau*_*ier 8 vim vim-syntax-highlighting
我知道我可以使用set list listchars=...来显示NonText和SpecialKey字符,以突出显示不同类型的非文本字符.总的来说,这是直截了当的.但是它有一个视觉副作用会让我感到不安 - 当光标线设置为on时,将光标"悬停"在一条线上listchars会以不同的颜色突出显示.这个问题已经在这个线程中提到过,似乎没有一个解决方案可以解决这个问题.
作为一个结果,我开始玩隐藏功能,这给了我不一样的结果.set concealcursor=n||v||i||c让我控制隐藏字符可见的模式.我希望能够看到隐藏的字符,所以我设置了以下内容:
function! ConcealNonText()
set conceallevel=1
set concealcursor=nvic
syntax match NonText / / conceal cchar=·
endfunction
augroup ConcealNonText
autocmd!
autocmd VimEnter * call ConcealNonText()
augroup END
Run Code Online (Sandbox Code Playgroud)
因此,无论我目前处于何种模式,它都会突出显示所有空间.但同样会产生令人不安的副作用 - 当我在视觉模式中标记线条或用我的光标线突出显示一条线条时,突出显示区域会在隐藏的地方被中断找到字符.只需看截图:
选定区域的可视模式:

带光标的普通模式:

所以我想我们试试吧set concealcursor=ic.这会导致突出显示区域不间断,但会隐藏字符.

那么是否有一个地方,并在某种程度上解决了我在本文开头提到的线程,或者有什么方法可以在使用时使光标和视觉选择区域不间断set concealcursor=nvic?
Dhr*_*gar -1
我相信你已经设置了“光标线”。高CursorLine光组定义了相同的高光。您可以set nocursorline(这可以加快线路移动)或更改CursorLine突出显示组 fg 颜色。