Essential Plugins For Coding On Vim

Derrick Gee
3 min readMay 6, 2021

What are the minimum features do you need to code with ease? These are my base plugins I use in order to make Vim/Neovim usable for my development workflow. Feel free to add onto this if you have other plugins in mind, I just think these are good starting plugins. I won’t be going over my config file, but that might write about that in the near future. Read the docs of the plugin if you are having trouble setting it up, they are linked in each plugin section below.

Colorscheme

ghifarit53/tokyonight-vim

We stare at our code for long periods of time, so I think it should look nice. You can search for another one that would suit your taste better, or you can make your own custom theme with .Xresources for a uniform color look throughout your system.

Search String and File (Fzf + Fzfvim + ProjectRoot)

junegunn/fzf
junegunn/fzf.vim
dbakker/vim-projectroot

String and file search is one of the best tools you can learn to use while developing. This is because it helps with not losing your train of thought while needing to find something from another file, whether you know the filename or not. ProjectRoot is just fast way to get the project’s root folder to feed to fzf’s command.

File Search
String Search

File Explorer Tree

scrooloose/nerdtree

I don’t find myself using this that often when I have file and string search with fzf. Though it is handy at times when you need to keep track of all your files in the same folder while developing.

Auto completion/Language Server/Renaming

neoclide/coc.nvim

This plugin is good enough for now, but I do want to swap it out later. Coc comes with a lot of useful features. 3 primary ones that I use often are it’s ability to download language servers, auto complete, and renaming.

I would recommend installing coc-pairs for auto bracket completion, as a base extension for coc.

coc-pairs
Useful print() info, yes

Indentation Lines

Yggdroot/indentLine

Very good for frontend files, as there are usually a lot more nesting involved with those types of files.

Block Commenter

preservim/nerdcommenter

Sometimes we just want to save a piece of code, but don’t want it to run. Sometimes we just want to talk to ourselves through TODO comments.

Block commenting

These plugins aren’t all that I use on my vim setup, but these are the plugins I would use if I had to make a minimal setup. I know that some of the plugins listed can be scripted within vim, but I am really lazy to figure that out for now. Maybe in the future I will try that out though.

Like my content? GithubTwitterMediumSupport Me

--

--