vim-airline/README.md

3.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!

screenshots

check out screenshots here!

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
  • 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

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.

contributions

contributions and pull requests are welcome. please follow the existing coding style as much as possible.

license

:h license