Will Clarke

Some cool neovim plugins

2023-11-22

In no particular order (other than the :'<'>sort u ordering after I ran grep -r -o "[^\"]\+/[^\"]\+" "$HOME/.config/nvim/" to find these in my config files)

L3MON4D3/LuaSnip

Lua snip lets you define and trigger snippets in a really powerful way.

ThePrimeagen/harpoon

Tags on steroids - [makes it super easy to change buffers & ‘tag’ buffers](https://github.com/makes it super easy to change buffers & ‘tag’ buffers)

nvim-treesitter/nvim-treesitter

Treesitter is a marvel. It parses your grammar, allowing you to render the language properly (syntax highlighting works!!)..but also allows you to do some other funky things like make vim text objects.

Other cool plugins related to treesitter include

tpope/vim-fugitive

Fugitive is not perfect, but it’s pretty close. It can do a load of Git stuff natively from within vim.

Some other git-based plugins include:

ellisonleao/glow.nvim

Renders a cool markdown preview

folke/which-key.nvim

Reminds you which key does what… and also provides a pretty decent global way to define keybindings.

gbprod/yanky.nvim

Provides a good ‘emacs kill ring’ substitute

hrsh7th/nvim-cmp

jbyuki/venn.nvim

Totally crazy way of drawing in neovim.

knubie/vim-kitty-navigator

There are alternatives, but this one lets me seamlessly navigate between vim splits and kitty panes.

linty-org/readline.nvim

emacs keybindings FTW. Sometimes I like using readline shortcuts in insert mode.

lukas-reineke/indent-blankline.nvim

Makes dealing with JSON / yaml a little more tollerable.

max397574/better-escape.nvim

jk to esc.. .but in a nicer way. mfussenegger/nvim-dap

michaelb/sniprun

Turn loads of code / files into a repl in a magical way ✨

mickael-menu/zk-nvim

zk is a nice plain text note-taking assistant. The nvim integration is sweet.

nvim-neotest/neotest

A fairly comprehensive testing framework. Using extra plugins (eg. nvim-neotest/neotest-go), you can add shortcuts to “test the entire file” or “run the test my cursor’s over”

neovim/nvim-lspconfig

LSP is a must. It’s kind of fiddly to set up, though.

numToStr/Comment.nvim

Commenting as it should be.

nvim-telescope/telescope.nvim

A neovim tour-de-force of engineering. This gives a nice frontend for searching.

I like these plugins

nvimtools/none-ls.nvim

This is the successor of Null-ls, which allows you to add things like linting, formatting and code actions super easily using a standardised API. Null-ls has been deprecated now. This seems to be a community effort to continue the good work!

jayp0521/mason-null-ls.nvim works well with this,

ray-x/lsp_signature.nvim

rest-nvim/rest.nvim

HTTP is so much better in plain-text, rather than in Postman / Insomnia.

stevearc/oil.nvim

My favourite file manager - everything is just a plain old nvim buffer

tpope/vim-surround

Tpope is an old-school vim legend. These other plugins are also really good

williamboman/mason.nvim

Mason lets you easily install LSPs and other dependencies. It works great with williamboman/mason-lspconfig.nvim

zbirenbaum/copilot.lua

Github Copilot integration in vim ❤️ Useful with zbirenbaum/copilot-cmp


Tags

vim editor