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 ( $vfn/lua/lazy/treesitter.lua )
    • Comment.nvim (Code) just works, and nicely replaces The NERD Commenter, which is indispensable in classic Vim
    • LSP:
      • nvim-lspconfig (Code) took some figuring out ($vfn/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 for Neovim
          • mason-lspconfig.nvim (Code) is advised
    • neogit (Code) is one heck of a machine, but I still rely on fugitive (Code)
    • nvim-neoclip.lua (Code) is sometimes handy ($vfn/lua/lazy/nvim-neoclip.lua)
  • For navigating:
  • Layout:
    • bufferline.nvim (Code) makes life so much easier
    • gitsigns.nvim (Code) is discrete and helpful
    • lualine.nvim (Code) does the job, with some minor caveats ($vfn/lua/lazy/lualine.lua)
    • nvim-scrollview (Code) adds a discreet scrollbar
  • nvim-notify (Code) is sometimes handy ($vfn/lua/lazy/nvim-notify.lua)
  • Telescope (Code) adds a wide range of handy “finders” to Neovim, and it’s become a great boon to my Vim-based workflow. I took time to configure it to my liking ($vfn/lua/lazy/telescope.lua).
    • telescope-frecency.nvim (Code) nicely replaces the excellent ctrlp.vim that I still use in Vim ($vfn/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 handy fzf 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.