4.8 KiB
4.8 KiB
vim-airline
lean & mean statusline for vim that's light as air
rationale
there's already powerline, why yet another statusline?
- it's 100% vimscript; no python needed.
- it's small. i want the core plugin to be less than 200 lines as a rule (specifically adhering to the open/closed principle).
- it gets you 90% of the way there; in addition to all the standard goodies, it integrates with vim-bufferline, fugitive, unite, ctrlp and syntastic.
- it looks good with regular fonts, and provides configuration points so you can use unicode or powerline symbols.
- it's fast to load, taking roughly 1ms. by comparison, powerline needs 60ms on the same machine.
- it's fully customizable; if you know a little
statusline
syntax you can tweak it to your needs. - it is trivial to write colorschemes; for a minimal theme you need to edit 9 lines of colors. (please send pull requests if you create new themes!)
what about old powerline?
- the old version still works well, but since it's deprecated new features won't get added
why's it called airline?
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!
installation
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
Bundle 'bling/vim-airline'
- manual
- copy all of the files into your
~/.vim
directory
configuration
:help airline
faq/troubleshooting
- the powerline font symbols are not showing up
- enable them by adding
let g:airline_powerline_fonts=1
to your~/.vimrc
- the older deprecated vim-powerline uses different codes compared to the newer powerline.
- you can grab prepatched fonts at powerline-fonts, or you can manually set the relevant
g:
variables - there is a pause when leaving insert mode
- you need to set
ttimeoutlen
to a low number; 50 is recommended - you don't see any colors
- all of the themes use a 256 terminal color palette. it's likely that the value of
t_Co
is misconfigured. please see this article on how to configure your terminal. pull requests for 8 and 16 color terminals are welcome. - you get the error
Unknown function: fugitive#head
- you are probably using version 1.2, which is very old...download v2 from the project page.
- airline doesn't appear until i create a new split
- add
set laststatus=2
to your vimrc - bufferline is printing to the statusline as well as the command bar
- you can disable automatic echoing by adding
let g:bufferline_echo = 0
to your vimrc - the statusline wraps
- you are probably using iTerm with double-width characters enabled. either disable this, or
set ambiwidth=double
in your vimrc.
bugs
if you encounter a bug, please reproduce it with this minivimrc repository i created and file an issue. please provide your operating system and vim version/patch level (can be found with :version
). a reproducible gist would be hugely helpful.
screenshots
dark theme with a regular font
dark theme with powerline symbols
simple theme
light theme
badwolf theme with bufferline integration
contributions
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. - this plugin got a lot more popular than i initially expected, if you make changes to the core, please test on as many versions of vim as possible.
license
:h license