Vim可以将BOL空格显示为特殊字符吗?



Sublime(文本编辑器(可以将行首空格显示为特殊字符,如--->

function foo() {
--->if (true) {
--->--->alert(true);
--->}
}

在某些情况下,这很有帮助。所以我想让 Vim 做同样的事情。我尝试使用:set list,但此选项仅将制表符显示为^I,它不显示空格。有没有办法做到这一点,就像在崇高中一样?

您可以突出显示 BOL 空白,这不会像您要求的那样插入特殊字符,但至少会通过为其分配特定颜色来使其脱颖而出。

:highlight BOLWhitespace guibg=red ctermbg=red
:match BOLWhitespace /^s+/

第一行将创建一个名为 BOLWhitespace 的突出显示组,并为其提供红色(可能希望使用更微妙的东西(。第二行将为行首的所有空格激活此突出显示。

也许这是一个可以接受的妥协?

可以使用

隐藏功能有效地模拟此类箭头(见:help conceal(:

function! EnableIndentArrows()
    exe 'syntax match NonText ''%(^%( {'.&sw.'})*'.
       ' {0,'.(&sw-2).'})@<= '' transparent conceal cchar=┈'
    exe 'syntax match NonText ''%(^%( {'.&sw.'})*'.
       ' {'.(&sw-1).'})@<= '' transparent conceal cchar=>'
    set conceallevel=2 concealcursor=nc
endfunction

最新更新