Lean & mean status/tabline for vim that's light as air.
- Tiny core written with extensibility in mind (open/closed principle).
- Integrates with a variety of plugins, including: vim-bufferline, fugitive, unite, ctrlp, minibufexpl, gundo, undotree, nerdtree, tagbar, vim-gitgutter, vim-signify, syntastic, eclim, lawrencium, virtualenv, tmuxline.
- Looks good with regular fonts and provides configuration points so you can use unicode or powerline symbols.
- Optimized for speed; it loads in under a millisecond.
- Extensive suite of themes for popular color schemes including solarized (dark and light), tomorrow (all variants), base16 (all variants), molokai, jellybeans and others; have a look at the screenshots in the wiki.
- Supports 7.2 as the minimum Vim version.
- The master branch tries to be as stable as possible, and new features are merged in only after they have gone through a full regression test.
- Unit testing suite.
If you don't like the defaults, you can replace all sections with standard statusline
syntax. Give your statusline that you've built over the years a face lift.
Sections and parts within sections can be configured to automatically hide when the window size shrinks.
Automatically displays all buffers when there's only one tab open.
This is disabled by default; add the following to your vimrc to enable the extension:
let g:airline#extensions#tabline#enabled = 1
Separators can be configured independently for the tabline, so here is how you can define "straight" tabs:
let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = '|'
vim-airline integrates with a variety of plugins out of the box. These extensions will be lazily loaded if and only if you have the other plugins installed (and of course you can turn them off).
hunks (vim-gitgutter & vim-signify)
vim-airline also supplies some supplementary stand-alone extensions. In addition to the tabline extension mentioned earlier, there is also:
Every section is composed of parts, and you can reorder and reconfigure them at will.
Sections can contain accents, which allows for very granular control of visuals (see configuration here).
Completely transform the statusline to your liking. Build out the statusline as you see fit by extracting colors from the current colorscheme's highlight groups.
There's already powerline, why yet another statusline?
- 100% vimscript; no python needed.
What about vim-powerline?
- vim-powerline has been deprecated in favor of the newer, unifying powerline, which is under active development; the new version is written in python at the core and exposes various bindings such that it can style statuslines not only in vim, but also tmux, bash, zsh, and others.
I wrote the initial version on an airplane, and since it's light as air it turned out to be a good name. Thanks for flying vim!
This plugin follows the standard runtime path structure, and as such it can be installed with a variety of plugin managers:
- Pathogen
git clone https://github.com/bling/vim-airline ~/.vim/bundle/vim-airline
- NeoBundle
NeoBundle 'bling/vim-airline'
- Vundle
Plugin 'bling/vim-airline'
- VAM
call vam#ActivateAddons([ 'vim-airline' ])
- manual
- copy all of the files into your
~/.vim
directory
:help airline
The default setting of 'laststatus' is for the statusline to not appear until a split is created. If you want it to appear all the time, add the following to your vimrc:
set laststatus=2
For the nice looking powerline symbols to appear, you will need to install a patched font. Instructions can be found in the official powerline documentation. Prepatched fonts can be found in the powerline-fonts repository.
Finally, you can add the convenience variable let g:airline_powerline_fonts = 1
to your vimrc which will automatically populate the g:airline_symbols
dictionary with the powerline symbols.
Solutions to common problems can be found in the Wiki.
A full list of screenshots for various themes can be found in the Wiki.
Tracking down bugs can take a very long time due to different configurations, versions, and operating systems. To ensure a timely response, please help me out by doing the following:
- Reproduce it with this minivimrc repository to rule out any configuration conflicts.
- A link to your vimrc or a gist which shows how you configured the plugin(s).
- And so I can reproduce; your
:version
of vim, and the commit of vim-airline you're using.
Contributions and pull requests are welcome. Please take note of the following guidelines:
- Adhere to the existing style as much as possible; notably, 2 space indents and long-form keywords.
- Keep the history clean! squash your branches before you submit a pull request.
pull --rebase
is your friend. - Any changes to the core should be tested against Vim 7.2.
- If you submit a theme, please create a screenshot so it can be added to the Wiki.
MIT License. Copyright (c) 2013-2014 Bailey Ling.