设置列表框的可见性和/或颜色,或者当光标线突出显示一行时隐藏cim

我知道我可以使用set list listchars = …来显示NonText和SpecialKey字符,以突出显示不同类型的非文本字符.一般来说,这是直截了当的.但是它有一个视觉副作用让我感到不安 – 当光标线设置为on时,将光标“悬停”在一条线上会以不同的颜色突出显示.这个问题已经在 this thread中提到了,并且似乎没有解决方案来解决这个问题.

作为一个结果,我开始玩隐藏功能,这给我带来了不同的结果. 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时使光标和视觉选择区域不间断?

我相信你有’光标’设置. CursorLine突出显示组定义相同的突出显示.您可以设置nocursorline(可以加快线条移动)或更改CursorLine高亮组fg颜色.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...