lean & mean status/tabline for vim that's light as air
Go to file
Christian Brabandt 0a75e493a6 Also draw a nice statusline in the preview window
This fixes issue #858

previously, the the on_window_changed() function returned early when the
popupmenu was visible, which also means, that a new preview window
created by the popup menu would not be rendered correctly until one
moves into this window.

Therefore, I made it not return early, even if the popup menu was opened
to make sure, it will be rendered. However, since the popup menu is
open, this might have unwanted consequences, if some plugin or other
function from airline calls some normal mode command (e.g. wordcount
which should not be enabled for preview windows). So this might break
subtile in other areas later.

An alternative might be to just document the fact, that airline won't
color preview windows at all. But I don't like that either.
2016-01-19 20:48:56 +01:00
autoload Check window size 2016-01-17 18:35:24 +01:00
doc happy 2016! 2016-01-14 21:38:38 -05:00
plugin Also draw a nice statusline in the preview window 2016-01-19 20:48:56 +01:00
t fix failing tests 2015-02-27 22:45:12 -05:00
.gitignore test the layout config for the default extension. 2013-08-30 22:44:20 -04:00
.travis.yml basic tests and travis integration. 2013-08-30 20:28:35 -04:00
CONTRIBUTING.md introduce contributing.md 2016-01-18 14:01:39 -05:00
Gemfile basic tests and travis integration. 2013-08-30 20:28:35 -04:00
LICENSE update readme about maintainers, update badge 2016-01-14 21:01:28 -05:00
Rakefile basic tests and travis integration. 2013-08-30 20:28:35 -04:00
README.md introduce contributing.md 2016-01-18 14:01:39 -05:00

vim-airline Build Status

Lean & mean status/tabline for vim that's light as air.

img

Features

Straightforward customization

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.

image

Automatic truncation

Sections and parts within sections can be configured to automatically hide when the window size shrinks.

image

Smarter tab line

Automatically displays all buffers when there's only one tab open.

tabline

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 = '|'

Seamless integration

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).

ctrlp.vim

image

unite.vim

image

tagbar

image

csv.vim

image

syntastic

image

hunks (vim-gitgutter & vim-signify)

image

virtualenv

image

tmuxline

image

promptline

airline-promptline-sc

Extras

vim-airline also supplies some supplementary stand-alone extensions. In addition to the tabline extension mentioned earlier, there is also:

whitespace

image

Configurable and extensible

Fine-tuned configuration

Every section is composed of parts, and you can reorder and reconfigure them at will.

image

Sections can contain accents, which allows for very granular control of visuals (see configuration here).

image

Extensible pipeline

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.

allyourbase

Rationale

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.

Where did the name come from?

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/vim-airline/vim-airline ~/.vim/bundle/vim-airline
  • Remember to run :Helptags to generate help tags
  • NeoBundle
  • NeoBundle 'vim-airline/vim-airline'
  • Vundle
  • Plugin 'vim-airline/vim-airline'
  • Plug
  • Plug 'vim-airline/vim-airline'
  • VAM
  • call vam#ActivateAddons([ 'vim-airline' ])
  • manual
  • copy all of the files into your ~/.vim directory

Configuration

: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

Integrating with powerline fonts

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.

FAQ

Solutions to common problems can be found in the Wiki.

Performance

Whoa! Everything got slow all of a sudden...

vim-airline strives to make it easy to use out of the box, which means that by default it will look for all compatible plugins that you have installed and enable the relevant extension.

Many optimizations have been made such that the majority of users will not see any performance degradation, but it can still happen. For example, users who routinely open very large files may want to disable the tagbar extension, as it can be very expensive to scan for the name of the current function.

The minivimrc project has some helper mappings to troubleshoot performance related issues.

If you don't want all the bells and whistles enabled by default, you can define a value for g:airline_extensions. When this variable is defined, only the extensions listed will be loaded; an empty array would effectively disable all extensions.

Screenshots

A full list of screenshots for various themes can be found in the Wiki.

Maintainers

The project is currently being maintained by Bailey Ling, Christian Brabandt, and Mike Hartington.

If you are interested in becoming a maintainer (we always welcome more maintainers), please go here.

License

MIT License. Copyright (c) 2013-2016 Bailey Ling.

Bitdeli Badge