~ / blog / Three built-in `neovim` features
I want to share three built-in neovim
features that I
think are under the category of “quality of life improvements”. They are
live substitution, highlight yanked
text, and the built-in language server
protocol support.
# Live Substitution
By default, vim
’s :substitute
command only
modifies the document when you execute the command by pressing
Enter
(<CR>
). In neovim
,
you can update the document interactively. neovim
also
shows you a preview window of all the changes you are going to make in
the document.

Just add the following option to your vimrc
file.
# Highlight Yanked Text
With the latest version of neovim, you have the ability to highlight
yanked text without using any
pluginsaside: If you want to use this feature in
neovim
v0.4.x or in vim
8, you can do so with
this or this plugin. Also, check out this well written post on how this works under the
hood..

At the time of writing, you’ll need a v0.5.0
or
nightly
aside: Precompiled binaries are available on
the github releases page. release of
neovim
for this feature.
You can add the following in your vimrc to enable this feature:
# Language Server Protocol
neovim
has a built-in implementation of the Language Server Protocol client and default
configurations for over 50 languages.

At the time of writing, you’ll need a v0.5.0
or
nightly
aside: Precompiled binaries are available on
the github releases page. release of
neovim
for this feature.
While technically you can configure the LSP client straight from your
vimrc
file, it is easier to use configurations from the neovim/nvim-lsp
repository that the
neovim
developers maintain.
In order to set this up you need to do 3 things:
Add the
neovim/nvim-lsp
plugin:Run
:LspInstall {servername}
:Set up configurations with options in your
vimrc
: