Doing all my editing in Vim I thought for some time whether to switch to NeoVim ↗. A few days ago I finally decided to do the switch. The result is awesome.
I ought to credit ThePrimeagen whose videotutorial ↗ stands was the main reason for my transition. Another reason was a nice tutorial for using VimTeX by ejmastnak ↗.
Why
Here are my reasons to use NeoVim.
- highlighting (via incremental syntax tree)
- support for custom code snippets ↗
- revert local changes via undotree ↗
- good support for LaTex ↗ and Git ↗
- quick fuzzy search for files or contents navigation ↗
- LSP support ↗
:checkhealthtells you what is wrong (missing dependencies, old versions, etc.)
Installation
My current setup is available at https://github.com/vaclavblazej/nvim ↗. Installation on Ubuntu goes like this.
- Install
neovim - Configure
init.luain~/.config/nvim/. - (optionally) set
alias vim=nvimin~/.zshrc(~/.bashrcfor bash users).
For more details, see the tutorials mentioned above.
Some basics
I just note some things that would make my transition little smoother.
- Obviously, you need to install
neovim. Some errors or comments may mention that a program is missing, then install it as well. - NeoVim configuration lives in
~/.config/nvim/. (Vim config is traditionally in~/.vim/.) - NeoVim config entry file is
~/.config/nvim/init.lua(orinit.vimfor just copied old config). (Vim config is traditionally in~/.vimrc.) - All files (e.g.
file.lua) within.config/nvim/luacan be requested by other script files byrequire("file")command. - Files in
.config/nvim/afterfolder are loaded automatically. - It is important to load
lazyafter setup of key remaps as otherwise leader key may be old for plugin commands. - The
lazyplugin manager downloads the plugins on startup. Otherwise just pull it up with:Lazy.