Is it possible to not display a ~ for blank lines

2020-05-21 09:09发布

Is it possible to not display a ~ for blank lines in Vim?

This confuses Mac Vim's scrollbar, and I quite don't like these tildes.

标签: vim macvim
4条回答
不美不萌又怎样
2楼-- · 2020-05-21 09:25

:hi NonText guifg=bg

That command should set the color of non text characters to be the same as the background color.

查看更多
太酷不给撩
3楼-- · 2020-05-21 09:31

Vim 8.x:

You can now change the color just for the end of the buffer ~:

highlight EndOfBuffer ctermfg=black ctermbg=black

See changelog for Vim 8.x.

查看更多
一夜七次
4楼-- · 2020-05-21 09:49

As jamessan said, you can’t disable them. The scrolling behavior isn’t specific to MacVim, either — it works the same way in the terminal and in gvim:

Screenshot of this in the terminal

Instead of seeing this as a problem, what you should do is learn to see this as part of Vim’s flexibility. For example, you can use the zt command to scroll the current line to the top of the screen, regardless of where in the file it is. This can make it easier to write macros that do some work and then scroll back to where you were. The commands <C-E> and <C-Y> are made simpler because of this, as is the 'scrolloffset' option.

If you must, retrain your brain to think of Vim’s scrollbar as mapping to which line is on top, instead of which screenful is visible.

查看更多
地球回转人心会变
5楼-- · 2020-05-21 09:50

You can't disable them, but you can change your colorscheme such that the NonText highlight group is colored the same as the Normal highlight group. However, this affects more than just the end of document tildes.

I doubt that it's actually "confusing" MacVim's scrollbar and if it is, then that's a bug in the patching that MacVim does.

查看更多
登录 后发表回答