Vim plugins I use
June 30, 2018
I’m an advocate of using vanilla vim or neovim. But there are times wherein you feel the need to install plugins, after working on vim for the past couple of months religiously, I’ve come across certain plugins that I feel help me in my dev workflow. Although there are some plugins that I’ve mentioned in this article whose functionality can easily be added by configuring my .vimrc but I think if a plugin helps you save time that’d be rather spent configuring the setup, you’re better off using the plugin.
This post should not be seen as one of those “Must have plugins for vim” but rather as a post describing the plugins I use and why I use them, and how they help me with my developer workflow. Using or not using these plugins is something for you to decide.
It helps transform vim into a minmalistic looking note taking application. I mostly use it while write markdown for my blog. In essence, this plugins disables numbers, the statusline and other elements from the editing window leaving you with just the text.
I use it for just one simple reason, It shows me the lines where unstaged changes are present and the type of change that has been done (+, -, ~). This comes in very handy when I’m about to push some changes and I can quickly jump through parts of code where changes have been made.
This is useful where you need to wrap a word or a text block inside quotes or tags. For instance, wrapping a long string of text inside the parens of a method call wherein you forgot to put quotes around the actual string. The command
ysi('would do the job.
Simply completes characters which work in pairs, for instance, as soon as I type in a
(vim will automatically add
)and put the cursor in between.
( --> (|)
Works in a similar way as vim-surround but instead, as the name suggest, it comments out the area specified by the motion.It makes commenting out your code a breeze.
gcG-> comments out contents of the file from current cursor position to end of file. You can use it with a lot of other motions.
This is the colorscheme that I’ve been using for quite a while now. I’m using the same scheme with iTerm2 as well. This is how it looks with a vimscript file open.
A fuzzy finder which helps finding files really QUICKLY. Just enter
FZFas an ex-command and It’ll open up a small window with all the files there in your working directory. Start typing out the file name and see it bring up the matching file names in a jiffy. I have it mapped to
Ctrl-tto quickly open it up while editing stuff.
It’s a file system explorer that sits inside your vim editor. Think of this as the the file explorer in editors like VSCode and SublimeText. Although I don’t use Nerdtree pretty often to open files but I like to have the directory structure visible to me while I’m working.
This allows you to use
Tabto autocomplete keywords. Note that this uses vim’s native completion feature and not any of it’s own. This is not similar to YCM in any way.
This plugin helps you quickly import and drop python packages and/or modules that you’ve imported in your project. I use it when I’m working on python projects wherein I’m adding and removing modules on a rolling basis.
I’ll keep this list updated with new plugins that I install or remove plugins from the list above if I find a good enough alternate for it within vim itself or another plugin which might offer better features.
Head over to the discussion over at Hacker News, there’s quite a lot of good advice there.