我知道我可以使用set list listchars = …来显示NonText和SpecialKey字符,以突出显示不同类型的非文本字符.一般来说,这是直截了当的.但是它有一个视觉副作用让我感到不安 – 当光标线设置为on时,将光标“悬停”在一条线上会以不同的颜色突出显示.这个问题已经在
this thread中提到了,并且似乎没有解决方案来解决这个问题.
原文链接:https://www.f2er.com/bash/384865.html作为一个结果,我开始玩隐藏功能,这给我带来了不同的结果. 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
因此,无论我目前处于何种模式,它都会突出显示所有空间.但同样会产生令人不安的副作用 – 当我在视觉模式下标记线条或用我的光标线突出显示一条线条时,突出显示区域会在隐藏的地方被中断找到字符.只需看截图:
选择区域的可视模式:
带光标的普通模式:
所以我想让我们尝试设置concealcursor = ic.这会导致突出显示区域不间断,但会隐藏字符.
那么是否有一个地方,并在某种程度上解决了我在本文开头提到的线程,或者有什么方法可以在使用set concealcursor = nvic时使光标和视觉选择区域不间断?