是否有可能在Vim中不显示〜空行?

时间:2010-09-28 13:13:18

标签: vim macvim

是否可以在Vim中不显示空白行?

这让Mac Vim的滚动条感到困惑,我完全不喜欢这些代号。

5 个答案:

答案 0 :(得分:43)

:hi NonText guifg=bg

该命令应将非文本字符的颜色设置为与背景颜色相同。

答案 1 :(得分:21)

Vim 8.x

您现在可以仅在缓冲区~的末尾更改颜色:

highlight EndOfBuffer ctermfg=black ctermbg=black

See changelog for Vim 8.x.

答案 2 :(得分:10)

正如jamessan所说,你无法禁用它们。滚动行为也不是特定于MacVim的 - 它在终端和gvim中的工作方式相同:

Screenshot of this in the terminal

不要将此视为问题,而应该做的是学会将此视为Vim灵活性的一部分。例如,您可以使用 zt 命令将当前行滚动到屏幕顶部,而不管文件在何处。这样可以更容易地编写执行某些工作的宏,然后回滚到原来的位置。由于此原因,命令< C-E> < C-Y> 变得更简单了。{/ 1}}选项。

如果你必须,重新训练你的大脑,将Vim的滚动条视为映射到哪一条线在顶部,而不是哪个屏幕是可见的。

答案 3 :(得分:4)

您无法禁用它们,但可以更改颜色方案,使NonText突出显示组的颜色与普通突出显示组相同。但是,这不仅影响文档波形的结束。

我怀疑它实际上是“混淆”了MacVim的滚动条,如果是,那么这就是MacVim修补的错误。

答案 4 :(得分:0)

标题〜字符旨在提醒用户这些行不属于缓冲区内容。

上面的突出显示技巧会隐藏〜字符,但是它仍然存在。对于某些终端,这甚至可能不起作用。如果您恰好是Neovim用户,则可以使用fillchars选项来更改缓冲区符号的结尾,如下所示:

set fillchars=fold:\ ,vert:\│,eob:\ ,msgsep:‾

这将使用空格而不是〜作为缓冲区的结尾,有效地隐藏烦人的〜。

您可能也对讨论here感兴趣。