如何更改Vim用于在缓冲区中对空行进行编号的字符?

luk*_*all 5 vim

目前,当我的窗口大于显示的缓冲区时,空白行显示为行号列中的〜.通过空行我显然不是指缓冲区本身的空行,而是延伸到缓冲区末尾的行.

我更喜欢行号是空白的.这可能吗?

ib.*_*ib. 7

不幸的是,无法更改Vim用于显示超出文件末尾的行的波形符(不修改源代码).

一个可行的解决方法是通过配置NonText 用于显示它们的高亮组来隐藏这些波形,使前景色等于背景色:

:highlight NonText ctermfg=bg guifg=bg
Run Code Online (Sandbox Code Playgroud)

但是,这种方法并不是一个完整的解决方案,因为这个突出显示组也用于列表字符(请参阅listlistchars选项),因此无法为超出最后一行的标记指定突出显示.

  • 我真的希望vim可以解决此问题。 (2认同)
  • @devth:是的,例如,允许用户通过fillchars选项配置字符应该不是一个复杂的更改。 (2认同)

fvg*_*vgs 7

从Vim 8.0开始,填充行字符(〜)的颜色可以通过配置EndOfBuffer突出显示组来独立改变:

highlight EndOfBuffer ctermfg=bg guifg=bg
Run Code Online (Sandbox Code Playgroud)