spf13-vim is a cross platform and highly customizable assortment of vim plugins and various resources for Vim, GVim and MacVim.
It works in Linux, Windows and MacOS X plus other Unix-like systems, it adheres to the traditional feel of vim as it offers present-day features such as a plugin management system, auto-complete, tags and many more.
Suggested Read: Learn Vi/Vim Editor – BEGINNER’S GUIDE
The notable plugins provided under spf13-vim include:
Vundle Plugin Manager for VIM
Vundle is an outstanding system built based on the exact principles as Pathogen, however with an integrated plugin management system that uses Git and Github.
NERDTree Explorer Plugin for Vim
NERDTree is a file explorer plugin that offers project drawer functionality to a user’s vim editing.
ctrlp File Finder for Vim
Ctrlp is a replacement of the Command-T plugin with a 100% vim plugin. It supports an intuitive and quick method to load files from the file system (with regex and fuzzy find), open buffers, and recently used files as well.
Surround Handles all the ‘”[{}]”‘ etc
Surround is a tool for handling pairs of “surroundings.” Examples of surroundings consists of parentheses, quotes, and HTML tags. These surroundings are closely related to what Vim refers to as text-objects.
NERDCommenter – Comment Code in Vim
NERDCommenter is a plugin that allows a user to deal with code comments, irrespective of filetype.
Syntastic Integrated Syntax Checking for Vim
Syntastic is a syntax checking plugin that executes buffers via external syntax checkers while they are saved and opened. In case any syntax errors are detected, a notification is sent to the user, therefore, the user does not have to compile their code or execute their script to find them.
Numbers.vim – Add Line Numbers for Vim
Numbers.vim is a plugin interchanges between relative numbering (normal mode) and absolute numbering (insert mode) depending on the mode a user is in.
This enables a user to effortlessly move code around with the relative line numbers when in normal mode. Again presenting correct line numbers when writing code in insert mode.
NeoComplCache Autocomplete++ Plugin for Vim
NeoComplCache is a powerful and brilliant autocomplete plugin with extra support for snippets. It enables simulations autocompletion from the dictionary, buffer, omni-complete and snippets.
Fugitive Add Git Integration for Vim
Fugitive adds persistent Git support to Git directories in vim.
PIV Adds PHP Editing for Vim
PIV offers modern PHP Integration for Vim with better support for PHP 5.3+ including latest syntax, functions, better fold support, and so on.
Tabularize Align Everything in Vim
Tabularize enables a user to align statements on their equal signs and several other characters.
Tagbar Adds Tag generation and Navigation in Vim
Tagbar requires exuberant-ctags and will automatically create tags for a user’s open files. It as well presents a panel to easily navigate through tags.
EasyMotion Jump Anywhere in Vim
EasyMotion offers an interactive way to use motions in Vim.
Furthermore, spf13-vim:
- comes with a number of additional syntaxes such as Markdown, Twig and Git commits.
- includes solarized and spf13-vim color pack ( ir_black, molokal, peaksea).
- contains a complete collection of snippets for use with snipmate or NeoComplCache.
How to Install spf13-vim in Linux Systems
Before you proceed to install spf13-vim, make sure you have Git and cURL installed on your system, otherwise, run the correct commands below as per your distribution to install them:
$ sudo apt-get install git curl [On Debian based systems] $ yum install git curl [On CentOS based systems]
Once both the packages has been installed, you can go further to install spf13-vim using an automatic installation script in your system and importantly backup your current Vim configuration files.
Therefore, type (or copy and paste) the command below in your terminal to run the automatic installer:
$ curl http://j.mp/spf13-vim3 -L -o - | sh
Note: If you already have spf13-vim installed, you can update to the latest version as follows:
$ cd $HOME/.spf13-vim/ $ git pull $ vim +BundleInstall! +BundleClean +q
How To Configure and Use spf13-vim in Linux
Once you have installed it, close you current terminal and open another terminal session. spf13-vim comes with a highly optimized .vimrc
configuration file that is exceptionally well organized and folds in sections, where each section is labeled and each option is commented.
The .vimrc
configuration file installed by spf13-vim helps to deal with common downsides of vanilla vim such as using a single configuration file across all operating systems, corrects common typos (:W
, :Q
plus many more), configures included plugins, setup the interface to use vim’s features (including omnicomplete, line numbers, syntax highlighting, a proper ruler and status line etc) coupled with many more.
$ vi ~/.vimrc
You can add any local customizations in the files ~/.vimrc.local
and ~/gvimrc.local
, in case the files already exist or else create them yourself.
Take for instance, you can override the default color schemes and use peaksea as follows:
$ echo colorscheme peaksea >> ~/.vimrc.local
The ~/.vimrc.bundles
file imports the various plugins of spf13. However, to add (or remove individual bundles) your own bundles, create the file ~/.vimrc.bundles.local
.
For example, the command below will add an extra bundle:
$ echo Bundle \'spf13/vim-colors\' >> ~/.vimrc.bundles.local
Below are screenshots showing spf13-vim working with different color schemes:
If you feel that spf13-vim not so useful, you can remove it completely using following commands.
$ cd ~/.spf13-vim-3/ $ ./uninstall.sh
For more information on how to use the various plugins, perform other customizations and lots more, visit http://vim.spf13.com/.
In this article, we talked about spf13-vim, a powerful collection of useful vim plugins and resources to enhance Vim, GVim and MacVim text editors.
Remember to use the feedback section below to ask any questions or offer us your thoughts about the article. You can as well give us information concerning any similar programs out there to extend Vim core functionalities or enhance its performance.