My Top 10 Neovim Plugins
Even though I like to write as much as I can using VimScript and Lua, sometimes you have to use plugins. Although I have way more than 10 plugins, these are the 10 that I use most often and that I feel have the biggest impact to my vim productivity.
Note: Even though most of the plugins here will run on stock Vim8, a few of them require either NeoVim or Vim compiled with python.
1. fzf.vim
FZF is the do-all-end-all of searching for files. Similar to the ctrl+shift+p of vscode, it lets you find and open files by typing in a rough representation of them. Other then file search, it also lets you search for commands, look at previously opened files, and navigate between tabs/buffers.
You can find it here: https://github.com/junegunn/fzf.vim.
2. lightline + lightline-ale
Lightline is a light and configurable statuslibe and tabline plugin for Vim. For me it strikes the perfect balance between looking good and having good performance. Lightline-ale allows me to show errors and warnings in my statusline.
You can find it here: https://github.com/itchyny/lightline.vim, and if you’re using ale, you can find lightline-ale here: https://github.com/maximbaz/lightline-ale.
3. TrueZen.nvim
TrueZen.nvim is my favorite plugin for distraction free writing in neovim. It offers a more Intellij-like experience compared to Goyo, and takes up the height of the screen but still centers the text for a comfortable experience.
You can find it here: https://github.com/kdav5758/TrueZen.nvim.
4. vim-visual-multi
Vim-visual-multi allows multiple cursors for vim and neovim, similar to alt+arrows in vscode. You can select multiple words or spawn multiple cursors and edit them in insert, visual, or normal mode all at once.
You can find it here: https://github.com/mg979/vim-visual-multi.
5. Ale
Ale is an asyncronous linting engine for vim that allows you to run linters and show warnings and errors while editing a file in vim.
You can find it here: https://github.com/dense-analysis/ale.
6. hop.nvim
Hop is essentially EasyMotion for NeoVim, and allows you to jump anywhere using as few keystrokes as possible. If you’re like me and have trouble moving around using numbers in vim, then this plugin is for you. Hop.nvim highlights letters at the start of each word, which. you can then type to move your cursor to.
You can find it here: https://github.com/phaazon/hop.nvim.
7. presence.nvim
presence.nvim is a simple, lightweight, and unobtrusive discord-rich-presence plugin for vim. I prefer presence over other drp plugin mainly due to its extremely quick startup time.
You can find it here: https://github.com/andweeb/presence.nvim.
8. dashboard-nvim
dashboard-nvim is a doom-emacs style startupmenu for vim, that lets you access common utilities like fzf as soon as you load up neovim.
You can find it here: https://github.com/glepnir/dashboard-nvim. If you want the Doom logo I’m using, you can get it, as well as various others,from here: https://github.com/glepnir/dashboard-nvim/wiki/Ascii-Header-Text.
9. doom-one.vim
Doom-one is my vim colorscheme of choice. Inspired by atom’s One Dark theme, It uses bright colors for text while still not hurting your eyes.
You can find it here: https://github.com/romgrk/doom-one.vim.
10. vim-devicons
Vim-devicons provides filetype icons for my statusline and file manager, as well as various vim plugins.
You can find it here: https://github.com/ryanoasis/vim-devicons.