One of the nice qualities about Vim is that it feels solid: it does not behave randomly and only reacts to user input. Unfortunately, it still blinks a little too much to my liking by default. Let's go over how it can be tamed and made a bit quieter.
First of all, an obvious annoyance to me is the message that appears when
starting Vim without specifying a file. To get rid of it, I
must
be part of the string in the shortmess
option.
Next, when using inccommand
(which I recommend and is enabled by
default in Neovim), the matches pop up by default in the preview window, which
can be irritating. To fix this, just set inccommand=nosplit
.
When using Neovim, the shape of the cursor changes depending on the mode that
the user is in, making the indication on the last line redundant. To get rid of
it, just set noshowmode
.
Finally, when using completion, a lot of garbage gets printed on the last line.
First of all, it's useless to be told what completion entry was selected as it
is rather obvious. To get rid of this, add c
to the
shortmess
. Another annoyance when using <C-n>
completion are the messages like "Scanning tags."
. Unfortunately,
there is no option to disable them yet. The two options for now are either to
remove those print statements (which are found in
ins_compl_get_exp
, located in edit.c
) and compile a
custom Vim or to prevent it from searching in tags and other buffers. To do so,
set complete=.
, which will only let <C-n>
complete
with words from the current buffer.
In summary, here is a snippet that can be used to silence Vim a little more:
set inccommand=nosplit noshowmode shortmess+=Ic complete=.