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

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.


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.


:hi NonText guifg=bg

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


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.

Tags:

Vim

Macvim

Neovim