I use a pretty large list of Vim plugins - currently, the count is at 45. I went through a lot of these as part of this post last year, but the list has changed a bit since then.
Using My Configuration
Using git
, you can easily download my full Vim configuration, including plugins (as git submodules), and start using it pretty easily after making a few symlinks.
You really should read my vimrc
if you intend to use it. There is a lot of stuff in there, not all of which you may want. Also, reading it is a great way to learn about what a lot of the plugins and shortcuts are doing for you.
Quick summary of how to download & use it:
$ git clone --recursive https://github.com/bhilburn/dotfiles.git bhilburn-configs.git
$ ln -s bhilburn-configs.git/vim ~/.vim
$ ln -s bhilburn-configs.git/vim/vimrc ~/.vimrc
The first command clones my configuration repository, including all submodules (which are how I store Vim plugins). The second two commands set up symbolic links to the vimrc
file and vim
directory you just downloaded.
In addition, you'll need ack to make use of the ack.vim plugin, and Steve Losh's 'friendly-find' to use my configuration for ctrlp. Both 'ctrlp' and 'ack.vim' are fantastic plugins that I use daily - they are absolutely worth the extra work.
To get ack
, you'll need to download / install it. Instructions are here.
For 'friendly-find' (ffind
), it's actually a submodule in my dotfiles.git
repo, which you cloned above. Head into bhilburn-configs.git/tools/friendly-find.git
, and put that ffind
program in your '$PATH'.
Lastly, to get the cool-looking statusline shown in this post, you'll need to install the Powerline fonts (also a submodule in my dotfiles.git
repo that you just cloned). Head into bhilburn-configs.git/fonts/powerline-fonts
and install them.
My Plugin List
Since I use so many plugins, I didn't want to manually make a list - so, I wrote a quick Python program that goes through each of my vim plugin directories and queries information from the upsteam repository on Github. What follows is a list of the plugins I use, with their respective descriptions from their official Github page.
Plugin | Description |
/tpope/vim-unimpaired | unimpaired.vim: pairs of handy bracket mappings |
/MarcWeber/vim-addon-mw-utils | vim: interpret a file by function and cache file automatically |
/vim-scripts/slimv.vim | SLIME-like Lisp and Clojure REPL inside Vim with Profiling, Hyperspec, Paredit |
/kikijump/tslime.vim | Send command from vim to a running tmux session |
/sjl/clam.vim | A lightweight Vim plugin for working with shell commands. |
/sjl/AnsiEsc.vim | ansi escape sequences concealed, but highlighted as specified (conceal) |
/scrooloose/nerdtree | A tree explorer plugin for vim. |
/garbas/vim-snipmate | snipMate.vim aims to be a concise vim script that implements some of TextMate's snippets features in Vim. |
/godlygeek/tabular | Vim script for text filtering and alignment |
/kien/ctrlp.vim | Fuzzy file, buffer, mru, tag, etc finder. |
/honza/vim-snippets | vim-snipmate default snippets (Previously snipmate-snippets) |
/saltstack/salt-vim | Vim files for editing Salt files |
/majutsushi/tagbar | Vim plugin that displays tags in a window, ordered by scope |
/ervandew/supertab | Perform all your vim insert mode completions with Tab |
/tristen/vim-sparkup | Sparkup for Vim like it's ~~2012~~ ~~2013~~ 2014 |
/vim-scripts/taglist.vim | Source code browser (supports C/C++, java, perl, python, tcl, sql, php, etc) |
/mileszs/ack.vim | Vim plugin for the Perl module / CLI script 'ack' |
/eagletmt/ghcmod-vim | Happy Haskell programming on Vim, powered by ghc-mod |
/sjl/gundo.vim | A git mirror of gundo.vim |
/tpope/vim-repeat | repeat.vim: enable repeating supported plugin maps with "." |
/pbrisbin/vim-syntax-shakespeare | A set of vim syntax files for highlighting the various Html templating languages in Haskell |
/vim-scripts/YankRing.vim | Maintains a history of previous yanks, changes and deletes |
/bling/vim-airline | lean & mean status/tabline for vim that's light as air |
/tpope/vim-fugitive | fugitive.vim: a Git wrapper so awesome, it should be illegal |
/klen/python-mode | Vim python-mode. PyLint, Rope, Pydoc, breakpoints from box. |
/tomtom/tlib_vim | Some utility functions for VIM |
/eagletmt/neco-ghc | A completion plugin for Haskell, using ghc-mod |
/AndrewRadev/linediff.vim | A vim plugin to perform diffs on blocks of code |
bhilburn/kernel-coding-style | Vim plugin to respect the Linux kernel coding style |
/pangloss/vim-javascript | Vastly improved Javascript indentation and syntax support in Vim. |
/sjl/strftimedammit.vim | A single Vim documentation file that lists strftime-like formatting characters for a variety of languages. |
/luochen1990/rainbow | rainbow parentheses improved, shorter code, no level limit, smooth and fast, powerful configuration. |
/tpope/vim-surround | surround.vim: quoting/parenthesizing made simple |
/sjl/splice.vim | A Vim plugin for managing three-way merges. |
/dag/vim2hs | vim2hs :: Vim -> Haskell |
/sjl/badwolf | A Vim color scheme. |
/tpope/vim-commentary | commentary.vim: comment stuff out |
/michaeljsmith/vim-indent-object | Vim plugin that defines a new text object representing lines of code at the same indent level. Useful for python/vim scripts, etc. |
/lukerandall/haskellmode-vim | An unpacked copy of the haskellmode vimball. Ping me if it needs updating. |
/tomasr/molokai | Molokai color scheme for Vim |
/Shougo/vimproc.vim | Interactive command execution in Vim. |
/othree/html5.vim | HTML5 omnicomplete and syntax |
/scrooloose/syntastic | Syntax checking hacks for vim |