Vim literally means “Vi Improved“, it is one of the most amazing text editors among web developers, programmers, etc. Vim is special because of its high-speed editing and extensibility. Aside from coders, writers make efficient use of Vim for:

  • Software documentation
  • Making presentation slides
  • Writing blogs and notes

We will be sharing with you some very good vim plugins on this page to make you more productive, efficient and better while you use the vim text editor.

1. fugitive-vim

You can call fugitive-vim as simply fugitive or vim-fugitive, it’s fine with any of the above names. Tim Pope is the original developer of the vim text editor.

vim plugins


  • It is a Git wrapper for vim text editor
  • It supports Linux, windows NT, macOS, IOS, Android and AmigaOS
  • It is written in vim script
  • Standard Git commands for example, :Gstatus for git blame, are provided by fugitive-vim plugin

2. surround.vim

This is another vim plugin created by Tim Pope. From it name, it has to do with anything relating to “surroundings.” These “surroundings” could be parentheses, brackets, quotes, XML tags, etc.


  • Mappings are provided by this plugin for easy deleting, changing and adding the earlier listed “surroundings”
  • It works well on vim version 6 and 7

3. The NERD Tree

We make use of this plugin as file system explorer for vim text editor and it does this so efficiently.


  • It allows you to easily open files for reading or editing
  • You are also allowed to do some basic file system operations while you use this plugin
  • You can have the extention of this plugin with custom mappings done through the use of a special API

4. Syntastic

This automatic syntax checking plugin was created by Marty Grenfell.


  • It runs files via external syntax checkers and shows any resulting errors to the users
  • It is exclusively for vim version 7

5. vim-gitgutter

This vim plugin shows you lines that have been added, removed or modified. It also provides you the opportunity to preview, stage and undo individual hunks. A git difference in “gutter” (sign column) is displayed by this plugin.


  • This plugin displays every sign for added, removed and modified lines
  • It makes sure these signs are updated all the time
  • You can customize the signs, sign column, line (number) highlights, mappings, extra git-diff arguments, etc
  • It allows the folding of texts that are not changed

6. vim-airline

Vim uses this plugin as a lean and mean status/tabline. You will see a cool statusline towards the down side of every window when you have this plugin loaded. This statusline contains sections for showing needful information.


  • It fits in well with some other amazing vim plugins like vim-bufferline , fugitive , unite, ctrlp , minibufexpl, gundo , undotree , nerdtree, tagbar, vim-gitgutter , vim-signify ,quickfixsigns , syntastic , eclim , lawrencium , virtualenv, tmuxline, taboo.vim , ctrlspace , vim-bufmru , vimagit , denite, etc.
  • Its loading time is very fast
  • It only works on vim version 7.2 and above

7. The NERD commenter

This vim plugin was created by Marty Grenfell. This plugin knows and comments about a zillion file types so it is very essential you have it in your vim.


  • A very simple and easy to use tool
  • It supports vim version 6 and 7

8. vim-colours-solarized

It is simply a precision, solarized colourscheme for vim. It was developed by Ethan Schoonover.


  • Precision colours for both people and machines

9. Tagbar

This plugin created by Jan Larres is aimed at showing tags of the current file ordered by scope. For instance, methods in languages like Python and C++ are shown under the class they are defined in.


  • It depends on exuberant Ctags 5.5 or universal Ctags
  • It works perfectly on vim version 7.3.1058

10. youcompleteme

It is abbreviated as YCM. This plugin is known as vim’s code completion engine.


  • It supports programing languages like C, C++, Objective-C/C++, Rust, Go, Typescript, Java, JavaScript, Python, etc

11. ctrpl.vim

It is aimed at finding full path fuzzy file, buffer, mru, tag, etc. for vim text editor.


  • It can be extended
  • It is capable of opening more than one file at a time
  • It is written in pure Vimscript for MacVim, gVim and Vim of version 7.0+

12. Emmet.vim

This plugin created by Yasuhiro Matsumoto is used in the same way as Emmet for expanding abbreviation


  • It is used for HTML and CSS hi-speed coding
  • It works well in vim version 7.0

13. snipMate

This vim plugin developed by Michael Sanders is aimed at implementing some very crucial snippets features of TextMate in vim.

vim plugins


  • TextMate-style snippets for vim
  • It only supports vim version 7.0 and above
  • It is allowed for snippets to have more than one matches
  • Variables in snippets are updated simultaneously as you type

14. commentary.vim

Tim Pope created this vim plugin to be able to comment stuff out; takes a motion as a target.


  • You can make use of gcc to comment out a line (takes a count)
  • Utilize gc to comment out the target of a motion (for example, gcap to comment out a paragraph)
  • Supports vim version 7.0

15. ale

ALE is fully known as Asynchronous Lint Engine. It duty is to offer linting (syntax checking and semantic errors) in NeoVim version 0.2.0+ and Vim version 8 while you edit your text files.

vim plugins


  • ALE offers you the opportunity to code and lint simultaneously
  • ALE does perform as a “language client” supporting lots of Language Server Protocol features and many more
  • Another good thing about this plugin is the fact that it checks syntax and fix files asynchronously

16. Tabular

This vim plugin makes your work easier and prevent time wasting in one way or the other by performing both text filtering and text alignment for you.

vim plugins


  • Created by Josh Adams
  • Simply a vim script for text filtering and text alignment
  • It supports vim version 7

17. vim-go

This plugin helps in supplying Go development to vim text editor.

vim plugins


  • You can make use of :GoRun to fastly execute your current file(s)
  • Use :GoDef to go to symbol/declaration
  • Use :GoDoc or :GoDocBrowser to look up documentation
  • Use :GoImport or :GoDrop to easily import and remove packages respectively
  • Make use of :GoLint to lint your codes

18. repeat.vim

Tim Pope built this plugin in such a way that it can easily remap “.” in an effective way with other plugins.


  • It makes use of repeat command (.) with other plugins
  • These supported plugins are: surround.vim plugin, speeddating.vim plugin, unpaired.vim plugin, abolish.vim and commentary.vim plugin
  • It works well on vim version 7

19. SuperTab

SuperTab plugin offers you the chance to make use of <Tab> for every of your insert completion needs.

vim plugins


  • It can be configured to suit your taste
  • Based on the text preceding the cursor, it built in “context” completion option that decides the right completion type
  • It is also possible for you to add your own functions in determining which completion type to use

20. Fzf

Fzf is just a multi-purpose command-line fuzzy finder. It is also an interactive Unix filter for command-line that is compatible with any of the following lists: files, command history, processes, hostnames, bookmarks, git commits, etc.

vim plugins


  • It is an high-speed execution plugin
  • Its layout is very flexible; not rigid
  • It doesn’t depend on anything

21. vim-javascript

This is a fantastic plugin designed exclusively for JavaScript by Josh Perez.

vim plugins


  • It is used for making JavaScript indentation and syntax support in vim look better
  • It supports vim version 6


Plugins are to make text editors work better, faster and look more beautiful: vim plugins are not exceptions. The above plugins listed and explained with their respective features will make you a good vim text editor user. Try them out today!