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

前端之家收集整理的这篇文章主要介绍了设置列表框的可见性和/或颜色,或者当光标线突出显示一行时隐藏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颜色.
原文链接:https://www.f2er.com/bash/384865.html

猜你在找的Bash相关文章