在Vim中是否可以不为空行显示~?这混淆了MacVim的滚动条,我非常不喜欢这些波浪线。
a9wyjsp71#
:hi NonText guifg=bg该命令应该将非文本字符的颜色设置为与背景颜色相同。
:hi NonText guifg=bg
bvn4nwqk2#
Vim 8.x:现在你可以改变缓冲区~的颜色:highlight EndOfBuffer ctermfg=black ctermbg=black请参阅Vim 8.x的更改日志。
~
highlight EndOfBuffer ctermfg=black ctermbg=black
qv7cva1a3#
就像jamessan说的,你不能让它们失效。滚动行为也不是MacVim特有的-它在终端和gvim中的工作方式相同:
你不应该把这看作是一个问题,而应该学会把这看作是Vim灵活性的一部分。例如,可以使用zt命令将当前行滚动到屏幕顶部,而不管它在文件中的位置。这样可以更容易地编写宏来完成一些工作,然后滚动回您所在的位置。因此,命令和变得更简单,'scrolloffset'选项也是如此。如果你必须这样做,重新训练你的大脑,把Vim的滚动条看作是Map到哪一行在最上面,而不是哪个屏幕是可见的。
'scrolloffset'
s1ag04yj4#
对于NeoVim,您可以将eob的fillchars值设置为空格字符,这将有效地隐藏它。* (这可能不适用于普通的Vim)*。
eob
fillchars
在Lua(Nvim 0.5+)中:
vim.wo.fillchars='eob: '
VimScript中:
set fillchars=eob:\
**注意:**调用上面的命令会覆盖你的fillchars值,其他的项目也会覆盖(如果设置了),所以可以参考上面的命令一起设置多个值:
set fillchars=eob:\ ,fold:\ ,vert:\│
或者使用set fillchars+=...将其附加到现有值。
set fillchars+=...
thigvfpy5#
波浪号~字符旨在提醒用户这些行不是缓冲区内容的一部分。上面的高亮显示技巧将 * 隐藏 *~字符,但它仍然存在。对于某些终端,这甚至可能不起作用。如果你碰巧是Neovim用户,你可以使用fillchars选项来更改缓冲区结束符号,如下所示:
set fillchars=fold:\ ,vert:\│,eob:\ ,msgsep:‾
这将使用空间而不是~作为缓冲区的结尾,有效地隐藏了恼人的~。您可能也对here感兴趣。
dgsult0t6#
您不能禁用它们,但可以更改配色方案,使“非文本”高亮显示组的颜色与“正常”高亮显示组的颜色相同。但是,这影响的不仅仅是文档波浪号的结尾。我怀疑它实际上是“混淆”MacVim的滚动条,如果是这样,那么这是MacVim所做的修补程序中的一个错误。
pokxtpni7#
对于Lua,而不是:
使用以下内容:
vim.opt.fillchars = { eob = ' ' }
前者对于新的缓冲区不持续,而后者持续。
7条答案
按热度按时间a9wyjsp71#
:hi NonText guifg=bg
该命令应该将非文本字符的颜色设置为与背景颜色相同。
bvn4nwqk2#
Vim 8.x:
现在你可以改变缓冲区
~
的颜色:highlight EndOfBuffer ctermfg=black ctermbg=black
请参阅Vim 8.x的更改日志。
qv7cva1a3#
就像jamessan说的,你不能让它们失效。滚动行为也不是MacVim特有的-它在终端和gvim中的工作方式相同:
你不应该把这看作是一个问题,而应该学会把这看作是Vim灵活性的一部分。例如,可以使用zt命令将当前行滚动到屏幕顶部,而不管它在文件中的位置。这样可以更容易地编写宏来完成一些工作,然后滚动回您所在的位置。因此,命令和变得更简单,
'scrolloffset'
选项也是如此。如果你必须这样做,重新训练你的大脑,把Vim的滚动条看作是Map到哪一行在最上面,而不是哪个屏幕是可见的。
s1ag04yj4#
对于NeoVim,您可以将
eob
的fillchars
值设置为空格字符,这将有效地隐藏它。* (这可能不适用于普通的Vim)*。在Lua(Nvim 0.5+)中:
VimScript中:
**注意:**调用上面的命令会覆盖你的
fillchars
值,其他的项目也会覆盖(如果设置了),所以可以参考上面的命令一起设置多个值:或者使用
set fillchars+=...
将其附加到现有值。thigvfpy5#
波浪号
~
字符旨在提醒用户这些行不是缓冲区内容的一部分。上面的高亮显示技巧将 * 隐藏 *~字符,但它仍然存在。对于某些终端,这甚至可能不起作用。如果你碰巧是Neovim用户,你可以使用
fillchars
选项来更改缓冲区结束符号,如下所示:这将使用空间而不是
~
作为缓冲区的结尾,有效地隐藏了恼人的~
。您可能也对here感兴趣。
dgsult0t6#
您不能禁用它们,但可以更改配色方案,使“非文本”高亮显示组的颜色与“正常”高亮显示组的颜色相同。但是,这影响的不仅仅是文档波浪号的结尾。
我怀疑它实际上是“混淆”MacVim的滚动条,如果是这样,那么这是MacVim所做的修补程序中的一个错误。
pokxtpni7#
对于Lua,而不是:
使用以下内容:
前者对于新的缓冲区不持续,而后者持续。