switching to Neovim and Neovide
[Neovide
Neovim
Vim
]
winget add Neovim.Neovim
Having discovered, over a decade ago, the power of Vim (text editor) ( vim and related tools ), and gotten good at vim configuration, I had some time when I couldn’t be at work, and so put several days into updgrading my vimfiles to accomodate the burgeoning power of Neovim
, and it was tough, like a very long game of chess, but I got there: my vimfiles now work for all flavours of Vim
, and I’ve access to the new and improved worls of Lua
plugins. Here I won’t attempt to explain my configurations - go look for yourself if you’re looking for yet more radical improvement in how you use your Von Neumann architecture machine. Instead, I just mention a few useful improvements over gVim
.
lovely Neovim plugins
- For coding:
- I’m ambivalent about
nvim-treesitter
(Code), perhaps because I’m not enough of a coder, but I managed to curb its enthusiasm ($vimfiles/nvim/lua/lazy/treesitter.lua) Comment.nvim
(Code) just works, and nicely replacesThe NERD Commenter
, which is indispensable in classicVim
- LSP:
nvim-lspconfig
(Code) took some figuring out ($vimfiles/nvim/lua/lazy/nvim-lspconfig.lua) because it can leverage a huge number of language servers, each with its own quirks- I found
Lspsaga
(Code) equally tricky to configure, and now it provides me handy Breadcrumbs for a project, and an occasionally useful Outline mason.nvim
(Code) is indispensable for installing and updating language servers on any machine forNeovim
mason-lspconfig.nvim
(Code) is advised
- I found
neogit
(Code) is one heck of a machine, but I still rely onfugitive
(Code)nvim-neoclip.lua
(Code) is sometimes handy ($vimfiles/nvim/lua/lazy/nvim-neoclip.lua)
- I’m ambivalent about
- For navigating:
fzf-lua
(Code) I configure ($vimfiles/nvim/lua/lazy/fzf-lua.lua) for a few buffer and file-finding cases- my
Leap
(Code) configuration ($vimfiles/nvim/lua/lazy/leap.lua) is simple, and extremely useful - In directories:
nvim-tree
(Code) is an improvement onNERDTree
, and I took the time to rationalise my keymappings ($vimfiles/nvim/lua/lazy/nvim-tree.lua)oil.nvim
(Code) is a vast improvement onnetrw
, and I set it to my liking ($vimfiles/nvim/lua/lazy/oil.lua)
- Layout:
bufferline.nvim
(Code) makes life so much easiergitsigns.nvim
(Code) is discrete and helpfullualine.nvim
(Code) does the job, with some minor caveats ($vimfiles/nvim/lua/lazy/lualine.lua)nvim-scrollview
(Code) adds a discreet scrollbar
nvim-notify
(Code) is sometimes handy ($vimfiles/nvim/lua/lazy/nvim-notify.lua)Telescope
(Code) adds a wide range of handy “finders” toNeovim
, and it’s become a great boon to my Vim-based workflow. I took time to configure it to my liking ($vimfiles/nvim/lua/lazy/telescope.lua).telescope-frecency.nvim
(Code) nicely replaces the excellentctrlp.vim
that I still use inVim
($vimfiles/nvim/lua/lazy/telescope-frecency.lua), which is quite an achievement - thank you, the developers - I use this hundreds of times a day.telescope-fzf-native.nvim
(Code) adds handyfzf
syntax to searches
sweet Neovide
winget add neovide # only installable to $Env:ProgramFiles\Neovide
Neovide is the GUI that I’d been waiting for, making the whole shift to Neovim
worthwhile.