2016-01-14 20:23:50 +08:00
# vim-airline [![Build Status](https://travis-ci.org/vim-airline/vim-airline.png)](https://travis-ci.org/vim-airline/vim-airline)
2013-07-01 02:49:56 +08:00
2013-09-07 21:50:55 +08:00
Lean & mean status/tabline for vim that's light as air.
2013-07-01 03:29:35 +08:00
2016-01-14 20:23:50 +08:00
![img ](https://github.com/vim-airline/vim-airline/wiki/screenshots/demo.gif )
2013-07-10 06:05:37 +08:00
2013-08-04 04:55:58 +08:00
# Features
2013-08-30 02:19:11 +08:00
* Tiny core written with extensibility in mind ([open/closed principle][8]).
2015-04-17 02:26:42 +08:00
* Integrates with a variety of plugins, including: [vim-bufferline][6],
[fugitive][4], [unite][9], [ctrlp][10], [minibufexpl][15], [gundo][16],
[undotree][17], [nerdtree][18], [tagbar][19], [vim-gitgutter][29],
[vim-signify][30], [quickfixsigns][39], [syntastic][5], [eclim][34],
[lawrencium][21], [virtualenv][31], [tmuxline][35], [taboo.vim][37],
[ctrlspace][38] and more.
2013-08-30 02:19:11 +08:00
* 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.
2016-02-01 13:35:01 +08:00
* Extensive suite of themes for popular color schemes including [solarized][23] (dark and light), [tomorrow][24] (all variants), [base16][32] (all variants), [molokai][25], [jellybeans][26] and others.
Note these are now external to this plugin. See [below][46] for detail.
2013-08-30 02:19:11 +08:00
* Supports 7.2 as the minimum Vim version.
2013-09-28 09:55:50 +08:00
* 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][33].
2013-09-03 22:35:14 +08:00
* Unit testing suite.
2013-08-31 08:26:42 +08:00
2013-08-31 05:44:14 +08:00
## Straightforward customization
2013-08-22 22:47:19 +08:00
2013-08-27 10:55:11 +08:00
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.
2013-08-22 22:47:19 +08:00
![image ](https://f.cloud.github.com/assets/306502/1009429/d69306da-0b38-11e3-94bf-7c6e3eef41e9.png )
2016-02-01 13:35:01 +08:00
## Themes
Themes have moved to
another repository as of [this commit][45].
Install the themes as you would this plugin (Vundle example):
```vim
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
```
See https://github.com/vim-airline/vim-airline-themes for more.
2013-08-31 05:44:14 +08:00
## Automatic truncation
2013-09-07 09:52:53 +08:00
Sections and parts within sections can be configured to automatically hide when the window size shrinks.
2013-08-31 05:44:14 +08:00
![image ](https://f.cloud.github.com/assets/306502/1060831/05c08aac-11bc-11e3-8470-a506a3037f45.png )
2013-09-03 22:35:14 +08:00
## Smarter tab line
2013-09-02 02:18:48 +08:00
2013-09-07 09:52:53 +08:00
Automatically displays all buffers when there's only one tab open.
2013-08-26 01:06:13 +08:00
2013-09-03 22:35:14 +08:00
![tabline ](https://f.cloud.github.com/assets/306502/1072623/44c292a0-1495-11e3-9ce6-dcada3f1c536.gif )
2013-08-23 07:24:16 +08:00
2013-09-07 09:52:53 +08:00
This is disabled by default; add the following to your vimrc to enable the extension:
let g:airline#extensions#tabline#enabled = 1
2013-09-24 02:54:42 +08:00
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 = '|'
2013-08-31 05:44:14 +08:00
## Seamless integration
2013-08-22 22:47:19 +08:00
2013-08-27 09:12:00 +08:00
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).
2013-08-15 02:29:19 +08:00
2013-08-31 05:44:14 +08:00
#### [ctrlp.vim][10]
2013-08-15 02:29:19 +08:00
![image ](https://f.cloud.github.com/assets/306502/962258/7345a224-04ec-11e3-8b5a-f11724a47437.png )
2013-08-31 05:44:14 +08:00
#### [unite.vim][9]
2013-08-15 02:29:19 +08:00
![image ](https://f.cloud.github.com/assets/306502/962319/4d7d3a7e-04ed-11e3-9d59-ab29cb310ff8.png )
2013-08-31 05:44:14 +08:00
#### [tagbar][19]
2013-08-15 02:29:19 +08:00
![image ](https://f.cloud.github.com/assets/306502/962150/7e7bfae6-04ea-11e3-9e28-32af206aed80.png )
2013-08-31 05:44:14 +08:00
#### [csv.vim][28]
2013-08-15 02:29:19 +08:00
![image ](https://f.cloud.github.com/assets/306502/962204/cfc1210a-04eb-11e3-8a93-42e6bcd21efa.png )
2013-08-31 05:44:14 +08:00
#### [syntastic][5]
2013-08-15 02:29:19 +08:00
![image ](https://f.cloud.github.com/assets/306502/962864/9824c484-04f7-11e3-9928-da94f8c7da5a.png )
2013-08-31 05:44:14 +08:00
#### hunks ([vim-gitgutter][29] & [vim-signify][30])
2013-08-21 00:57:50 +08:00
![image ](https://f.cloud.github.com/assets/306502/995185/73fc7054-09b9-11e3-9d45-618406c6ed98.png )
2013-08-31 05:44:14 +08:00
#### [virtualenv][31]
2013-08-25 23:14:12 +08:00
![image ](https://f.cloud.github.com/assets/390964/1022566/cf81f830-0d98-11e3-904f-cf4fe3ce201e.png )
2013-08-25 04:49:54 +08:00
2013-11-18 03:15:55 +08:00
#### [tmuxline][35]
![image ](https://f.cloud.github.com/assets/1532071/1559276/4c28fbac-4fc7-11e3-90ef-7e833d980f98.gif )
2014-01-06 01:47:44 +08:00
#### [promptline][36]
![airline-promptline-sc ](https://f.cloud.github.com/assets/1532071/1871900/7d4b28a0-789d-11e3-90e4-16f37269981b.gif )
2016-02-09 17:21:44 +08:00
#### [ctrlspace][38]
![papercolor_with_ctrlspace ](https://cloud.githubusercontent.com/assets/493242/12912041/7fc3c6ec-cf16-11e5-8775-8492b9c64ebf.png )
2013-08-31 05:44:14 +08:00
## Extras
2013-08-30 05:48:24 +08:00
2013-09-03 22:35:14 +08:00
vim-airline also supplies some supplementary stand-alone extensions. In addition to the tabline extension mentioned earlier, there is also:
2013-08-30 05:48:24 +08:00
2013-08-31 05:44:14 +08:00
#### whitespace
2013-08-30 05:48:24 +08:00
![image ](https://f.cloud.github.com/assets/306502/962401/2a75385e-04ef-11e3-935c-e3b9f0e954cc.png )
2013-09-03 22:35:14 +08:00
## Configurable and extensible
#### Fine-tuned configuration
Every section is composed of parts, and you can reorder and reconfigure them at will.
![image ](https://f.cloud.github.com/assets/306502/1073278/f291dd4c-14a3-11e3-8a83-268e2753f97d.png )
2016-01-14 20:23:50 +08:00
Sections can contain accents, which allows for very granular control of visuals (see configuration [here ](https://github.com/vim-airline/vim-airline/issues/299#issuecomment-25772886 )).
2013-09-24 06:15:49 +08:00
![image ](https://f.cloud.github.com/assets/306502/1195815/4bfa38d0-249d-11e3-823e-773cfc2ca894.png )
2013-09-03 22:35:14 +08:00
#### 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 ](https://f.cloud.github.com/assets/306502/1022714/e150034a-0da7-11e3-94a5-ca9d58a297e8.png )
2013-07-10 06:05:37 +08:00
# Rationale
2013-07-01 03:29:35 +08:00
2013-08-05 04:06:24 +08:00
There's already [powerline][2], why yet another statusline?
2013-07-01 03:29:35 +08:00
2013-07-27 01:21:43 +08:00
* 100% vimscript; no python needed.
2013-08-02 20:11:53 +08:00
2013-08-05 04:06:24 +08:00
What about [vim-powerline][1]?
2013-08-02 20:11:53 +08:00
2013-09-07 21:50:55 +08:00
* 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.
2013-08-02 20:11:53 +08:00
2013-07-23 05:23:41 +08:00
# Where did the name come from?
2013-07-01 03:29:35 +08:00
2013-07-10 06:05:37 +08:00
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!
2013-07-01 03:29:35 +08:00
2013-07-10 06:05:37 +08:00
# Installation
2013-07-08 01:58:15 +08:00
2013-07-10 06:05:37 +08:00
This plugin follows the standard runtime path structure, and as such it can be installed with a variety of plugin managers:
2013-07-08 01:58:15 +08:00
2013-08-05 04:06:24 +08:00
* [Pathogen][11]
2016-01-14 20:23:50 +08:00
* `git clone https://github.com/vim-airline/vim-airline ~/.vim/bundle/vim-airline`
2015-02-08 01:07:31 +08:00
* Remember to run `:Helptags` to generate help tags
2013-08-05 04:06:24 +08:00
* [NeoBundle][12]
2016-01-14 20:23:50 +08:00
* `NeoBundle 'vim-airline/vim-airline'`
2013-08-05 04:06:24 +08:00
* [Vundle][13]
2016-01-14 20:23:50 +08:00
* `Plugin 'vim-airline/vim-airline'`
2016-01-14 20:25:20 +08:00
* [Plug][40]
* `Plug 'vim-airline/vim-airline'`
2013-08-05 04:06:24 +08:00
* [VAM][22]
2013-07-26 07:17:32 +08:00
* `call vam#ActivateAddons([ 'vim-airline' ])`
2013-07-08 01:58:15 +08:00
* manual
* copy all of the files into your `~/.vim` directory
2013-07-10 06:05:37 +08:00
# Configuration
2013-07-01 03:29:35 +08:00
2013-07-02 07:49:40 +08:00
`:help airline`
2013-07-01 03:29:35 +08:00
2013-12-13 22:57:58 +08:00
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`
2013-07-13 10:47:56 +08:00
# Integrating with powerline fonts
2013-08-05 04:06:24 +08:00
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][20]. Prepatched fonts can be found in the [powerline-fonts][3] repository.
2013-07-13 10:47:56 +08:00
2013-09-07 09:52:53 +08:00
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.
2013-07-13 10:47:56 +08:00
2013-07-16 04:19:26 +08:00
# FAQ
2013-07-15 23:04:06 +08:00
2013-08-05 04:06:24 +08:00
Solutions to common problems can be found in the [Wiki][27].
2013-07-15 23:04:06 +08:00
2014-10-18 23:45:09 +08:00
# 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.
2015-03-01 23:59:53 +08:00
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.
2014-10-18 23:45:09 +08:00
The [minivimrc][7] project has some helper mappings to troubleshoot performance related issues.
2015-03-01 23:59:53 +08:00
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.
2013-08-23 07:24:16 +08:00
# Screenshots
2013-07-08 10:55:11 +08:00
2013-08-23 07:24:16 +08:00
A full list of screenshots for various themes can be found in the [Wiki][14].
2013-07-08 10:55:11 +08:00
2016-01-15 10:01:07 +08:00
# Maintainers
2016-01-15 10:36:49 +08:00
The project is currently being maintained by [Bailey Ling][41], [Christian Brabandt][42], and [Mike Hartington][44].
2013-07-01 03:29:35 +08:00
2016-01-15 10:01:07 +08:00
If you are interested in becoming a maintainer (we always welcome more maintainers), please [go here][43].
# License
2013-07-15 22:47:48 +08:00
2016-01-15 10:01:07 +08:00
MIT License. Copyright (c) 2013-2016 Bailey Ling.
2013-07-02 07:49:40 +08:00
2016-01-15 10:01:07 +08:00
[![Bitdeli Badge ](https://d2weczhvl823v0.cloudfront.net/vim-airline/vim-airline/trend.png )](https://bitdeli.com/free "Bitdeli Badge")
2013-08-08 04:38:50 +08:00
2013-08-05 04:06:24 +08:00
[1]: https://github.com/Lokaltog/vim-powerline
[2]: https://github.com/Lokaltog/powerline
[3]: https://github.com/Lokaltog/powerline-fonts
[4]: https://github.com/tpope/vim-fugitive
[5]: https://github.com/scrooloose/syntastic
[6]: https://github.com/bling/vim-bufferline
[7]: https://github.com/bling/minivimrc
[8]: http://en.wikipedia.org/wiki/Open/closed_principle
[9]: https://github.com/Shougo/unite.vim
2015-12-24 15:15:26 +08:00
[10]: https://github.com/ctrlpvim/ctrlp.vim
2013-08-05 04:06:24 +08:00
[11]: https://github.com/tpope/vim-pathogen
[12]: https://github.com/Shougo/neobundle.vim
[13]: https://github.com/gmarik/vundle
2016-01-14 20:23:50 +08:00
[14]: https://github.com/vim-airline/vim-airline/wiki/Screenshots
2013-08-05 04:06:24 +08:00
[15]: https://github.com/techlivezheng/vim-plugin-minibufexpl
[16]: https://github.com/sjl/gundo.vim
[17]: https://github.com/mbbill/undotree
[18]: https://github.com/scrooloose/nerdtree
[19]: https://github.com/majutsushi/tagbar
2014-10-05 11:35:10 +08:00
[20]: https://powerline.readthedocs.org/en/master/installation.html#patched-fonts
2013-08-05 04:06:24 +08:00
[21]: https://bitbucket.org/ludovicchabant/vim-lawrencium
[22]: https://github.com/MarcWeber/vim-addon-manager
[23]: https://github.com/altercation/solarized
[24]: https://github.com/chriskempson/tomorrow-theme
[25]: https://github.com/tomasr/molokai
[26]: https://github.com/nanotech/jellybeans.vim
2016-01-14 20:23:50 +08:00
[27]: https://github.com/vim-airline/vim-airline/wiki/FAQ
2013-08-15 02:29:19 +08:00
[28]: https://github.com/chrisbra/csv.vim
2013-08-19 05:02:33 +08:00
[29]: https://github.com/airblade/vim-gitgutter
2013-08-20 23:43:26 +08:00
[30]: https://github.com/mhinz/vim-signify
2013-08-25 04:49:54 +08:00
[31]: https://github.com/jmcantrell/vim-virtualenv
2013-08-26 01:06:13 +08:00
[32]: https://github.com/chriskempson/base16-vim
2016-01-14 20:23:50 +08:00
[33]: https://github.com/vim-airline/vim-airline/wiki/Test-Plan
2013-10-02 04:19:15 +08:00
[34]: http://eclim.org
2013-11-18 03:15:55 +08:00
[35]: https://github.com/edkolev/tmuxline.vim
2014-01-06 01:47:44 +08:00
[36]: https://github.com/edkolev/promptline.vim
2015-02-28 10:44:35 +08:00
[37]: https://github.com/gcmt/taboo.vim
[38]: https://github.com/szw/vim-ctrlspace
2015-04-17 02:26:42 +08:00
[39]: https://github.com/tomtom/quickfixsigns_vim
2016-01-14 20:25:20 +08:00
[40]: https://github.com/junegunn/vim-plug
2016-01-15 10:01:07 +08:00
[41]: https://github.com/bling
[42]: https://github.com/chrisbra
[43]: https://github.com/vim-airline/vim-airline/wiki/Becoming-a-Maintainer
2016-01-15 10:36:49 +08:00
[44]: https://github.com/mhartington
2016-02-01 13:35:01 +08:00
[45]: https://github.com/vim-airline/vim-airline/commit/d7fd8ca649e441b3865551a325b10504cdf0711b
[46]: https://github.com/vim-airline/vim-airline#themes