Vim is a widely used terminal editor in the Linux world, and like many other Linux applications, it can also run on Unix, Windows, and macOS.
One of the things people like most about Vim is that it is highly customizable and can be extended via plugins. Finding the right plugin for your workflow will greatly improve your productivity on Linux.
Here are 12 of the best Vim plugins that will improve your workflow on Linux.
1. NERDTree
NERDTree is a file exploration plugin that allows you to visualize your project hierarchy in the Vim editor. In addition, you can use it to browse complex folder structures and open files for editing. You can install NERDTree manually, or use your favorite Vim plugin manager.
After installation, you can use the Vim command: NERDTree to open NERDTree.
Use the vim command below: help NERDTree to learn more about this awesome file explorer or get help. Take advantage of Vim’s built-in tutorials to master this great editor.
Download: NERDTree
2. Supertab
Supertab helps you complete the insertion via the Tab key on your keyboard. Even better, it’s easy to configure, so you can personalize it to your needs.
Use the vim command: help supertab to get help with the plugin. You can install the plugin using any plugin manager you like or Vim’s built-in plugin support.
Download: Supertab
3. Emmet-vim
Emmet-vim is a powerful and flexible code completion plugin. It is primarily aimed at web developers who use HTML and CSS. Emmet is more flexible and customizable than traditional code snippets.
For example, to create three HTML links with emmet, you can simply type li*3, then press the shortcut key Ctrl + Y on the keyboard, followed by , (comma), emmet will automatically create the code for you. emet can also be used in other code editors such as VS Code, Atom, etc.
Download: Emmet-vim
4. OmniSharp-vim
C# is a programming language originally developed by Microsoft and can only run on Windows. Fast forward to now, and you can run C# on Windows, macOS, and Linux. And that’s not all, you can even develop C# code in Vim.
The OmniSharp-vim plugin is specifically made to help you easily write C# code in Vim. It provides code completion, code smart hints, and other necessary features to make writing C# code in Vim equally enjoyable. Some of the other great features it supports include code refactoring, syntax highlighting, code formatting, unit test runners, and more.
Download: OmniSharp-vim
5. vim-gitgutter
If you use a Git version control system in your workflow, vim-gitgutter is a great tool. This plugin helps you keep track of your code and shows all the changes you’ve made in the remote repository. For example, it can highlight files that have been added, modified, or deleted.
Also, if you use other version control systems such as Bazaar, Mercurial, Subversion, Darcs, etc., you can use the vim-signify plugin.
You can also use Git operations such as stages, previews, and undo code modifications in your repository. Vim-gitgutter comes with additional features such as optional line highlighting, staged partial blocks, etc.
This plugin was inspired by a similar plugin from the Sublime text editor. You can also use it with Vim’s line number function to see which lines have been modified.
Download: vim-gitgutter
6. Asynchronous Lint Engine (ALE)
The ALE plugin, short for Asynchronous Lint Engine, is a code analysis and hint tool that displays warnings and errors in real-time as you make changes to your code.
In addition to tasting, ALE provides quick code fix suggestions through the ALEFixSuggest command. It also supports automatic code completion. Even better, you can see more information by hovering over a symbol by using the: ALEHover command.
ALE has good documentation, and you can use the: help command to access most of its documentation. For example, to get help with the hover feature, you can run: help ale-hover.
ALE supports dozens of programming and scripting languages such as C#, Bash, Ansible, Chef, SQL, JavaScript, YAML, TypeScript, C, LaTeX, and more.
Download: ALE
7. commentary.vim
With this awesome plugin, you can easily annotate and uncomment code in Vim. The command for commentary.vim is very rare and very easy to use, even for beginners.
The most important command is GCC, which can comment out a single line of code. When you are in visualization mode, use the gcc command to annotate the entire selection.
commentary.vim is built on Vim’s support for operators. You can install this plugin through Vim’s plugin support or using your favorite plugin manager.
Download: commentary.vim
8. fzf
Based on the generic command line finder, the fzf (Fuzzy Finder) plugin is basically a wrapper. It contains some commands that are easy to get used to whether you are a beginner or an advanced Vim user.
This plugin is very light, super fast, and easy to install. The official fzf GitHub page contains very good documentation on how to use the plugin.
Download: fzf
9. vim-airline
Vim-airline displays a nice and lean status bar at the bottom, replacing the default status bar in Vim. The status bar consists of several sections that provide you with information such as the current cursor’s location in the file, file type, file format, and so on. The different parts have distinct colors that give you a good hint.
The plugin’s themes, colors, and features are easy to configure and can be customized to your liking. Vim-airline is a lightweight, well-tested Vim plugin that integrates well with other plugins such as fugitive, eclim, Flog, etc.
Download: vim-airline
10. Fugitive
Fugitive is touted as one of the best Vim plugins for Git integration. The name Fugitive comes from the creators’ belief that it was so awesome that it should be illegal.
Fugitive is more like a Git command wrapper with a syntax very similar to Git. To run any Git command, simply add: Git prefix to the command. For example, to commit, use the Vim command :Git commit, or :Git diff to display Git diff between multiple commits or branches.
In addition, the plugin provides custom commands for higher-level operations, such as : Gedit can view any commit, tree, or label in the repository, or : GDelete can run the git rm command on the current file. To move a file, you can use :GMove, which is similar to the Git command git mv.
Download: Fugitive
11. Supertab
Supertab helps you complete the insertion via the Tab key on your keyboard. Even better, it’s easy to configure, so you can personalize it to your needs.
Use the vim command: help supertab to get help with the plugin. You can install the plugin using any plugin manager you like or Vim’s built-in plugin support.
Download: Supertab
Use the plugin to customize Vim to your liking
In addition to extending and providing additional functionality for Vim, plugins can greatly improve your workflow and productivity. With thousands of Vim plugins at your disposal, you can find the one that best suits your workflow and install them for free.