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
- nvim-treesitter/nvim-treesitter-context
- nvim-treesitter/nvim-treesitter-textobjects
- nvim-treesitter/playground
- Wansmer/treesj
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
- nvim-telescope/telescope-frecency.nvim
- nvim-telescope/telescope-live-grep-args.nvim
- nvim-telescope/telescope-ui-select.nvim
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