2013-06-30 15:29:35 -04:00
# vim-airline
2013-06-30 14:49:56 -04:00
2013-07-09 18:05:37 -04:00
Lean & mean statusline for vim that's light as air.
2013-06-30 15:29:35 -04:00
2013-07-09 18:05:37 -04:00
![img ](https://github.com/bling/vim-airline/wiki/screenshots/light.png )
# Rationale
2013-06-30 15:29:35 -04:00
2013-07-09 18:05:37 -04:00
There's already [powerline][b], why yet another statusline?
2013-06-30 15:29:35 -04:00
2013-07-05 20:15:52 -04:00
* it's 100% vimscript; no python needed.
2013-07-07 09:07:03 -04:00
* it's small. i want the core plugin to be *less than 200 lines* as a rule (specifically adhering to the [open/closed principle][h]).
2013-07-09 18:32:35 -04:00
* despite the small size, it is fully featured and already integrates with: [vim-bufferline][f], [fugitive][d], [unite][i], [ctrlp][j], [minibufexpl][o], [gundo][p], [undotree][q], [nerdtree][r], [tagbar][s] and [syntastic][e].
2013-07-05 20:15:52 -04:00
* it looks good with regular fonts, and provides configuration points so you can use unicode or powerline symbols.
2013-07-02 22:51:10 -04:00
* it's fast to load, taking roughly 1ms. by comparison, powerline needs 60ms on the same machine.
2013-07-05 20:15:52 -04:00
* it's fully customizable; if you know a little `statusline` syntax you can tweak it to your needs.
2013-07-09 18:32:35 -04:00
* it's 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!)
2013-06-30 15:29:35 -04:00
2013-07-09 18:05:37 -04:00
What about [old powerline][a]?
2013-07-03 09:40:58 -04:00
2013-07-05 20:15:52 -04:00
* the old version still works well, but since it's deprecated new features won't get added
2013-07-10 13:54:25 -04:00
* it uses different font codes, which makes it incompatible with other powerline bindings in the same terminal (e.g. bash, zsh, tmux, etc.)
2013-07-03 09:40:58 -04:00
2013-07-09 18:05:37 -04:00
# Why's it called airline?
2013-06-30 15:29:35 -04:00
2013-07-09 18:05:37 -04: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-06-30 15:29:35 -04:00
2013-07-09 18:05:37 -04:00
# Installation
2013-07-07 13:58:15 -04:00
2013-07-09 18:05:37 -04:00
This plugin follows the standard runtime path structure, and as such it can be installed with a variety of plugin managers:
2013-07-07 13:58:15 -04:00
* [pathogen][k]
* `git clone https://github.com/bling/vim-airline ~/.vim/bundle/vim-airline`
* [neobundle][l]
* `NeoBundle 'bling/vim-airline'`
* [vundle][m]
* `Bundle 'bling/vim-airline'`
* manual
* copy all of the files into your `~/.vim` directory
2013-07-09 18:05:37 -04:00
# Configuration
2013-06-30 15:29:35 -04:00
2013-07-01 19:49:40 -04:00
`:help airline`
2013-06-30 15:29:35 -04:00
2013-07-12 22:47:56 -04:00
# 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][t]. Prepatched fonts can be found in the [powerine-fonts][c] repository.
Finally, enable them in vim-airline by adding `let g:airline_powerline_fonts = 1` to your vimrc.
2013-07-09 18:05:37 -04:00
# FAQ/Troubleshooting
2013-06-30 15:29:35 -04:00
2013-07-06 14:01:32 -04:00
* the powerline font symbols are not showing up
2013-07-12 22:47:56 -04:00
* the older deprecated [vim-powerline][a] uses different font codes; ensure you are using v2 fonts.
2013-07-06 14:01:32 -04:00
* there is a pause when leaving insert mode
2013-07-01 20:35:16 -04:00
* you need to set `ttimeoutlen` to a low number; 50 is recommended
2013-07-07 20:38:19 -04:00
* you don't see any colors
2013-07-07 21:00:14 -04:00
* 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][n] on how to configure your terminal. pull requests for 8 and 16 color terminals are welcome.
2013-07-06 14:01:32 -04:00
* you get the error `Unknown function: fugitive#head`
2013-07-02 11:44:59 -04:00
* you are probably using version 1.2, which is very old...download v2 from the [project page][d].
2013-07-06 14:01:32 -04:00
* airline doesn't appear until i create a new split
2013-07-05 20:15:52 -04:00
* add `set laststatus=2` to your vimrc
2013-07-06 14:01:32 -04:00
* 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
2013-07-09 10:03:35 -04:00
* the statusline wraps
* you are probably using iTerm with double-width characters enabled. either disable this, or `set ambiwidth=double` in your vimrc.
2013-07-09 18:32:35 -04:00
* how do i get rid of the default mode indicator?
* add `set noshowmode` to your vimrc
2013-07-05 20:15:52 -04:00
2013-07-09 18:05:37 -04:00
# Bugs
If you encounter a bug, please do the following:
2013-07-05 20:15:52 -04:00
2013-07-09 18:05:37 -04:00
* reproduce it with this [minivimrc][g] repository to rule out any configuration conflicts.
* specify your version and patch level, as well as operating system (found with `:version` ).
* a link to a gist or your vimrc where it can be reproduced.
2013-07-01 19:49:40 -04:00
2013-07-09 18:05:37 -04:00
# Screenshots
2013-07-07 22:55:11 -04:00
### dark theme with a regular font
![img ](https://github.com/bling/vim-airline/wiki/screenshots/dark.png )
### dark theme with powerline symbols
![img ](https://github.com/bling/vim-airline/wiki/screenshots/dark-powerline.png )
### simple theme
![img ](https://github.com/bling/vim-airline/wiki/screenshots/simple.png )
### light theme
![img ](https://github.com/bling/vim-airline/wiki/screenshots/light.png )
2013-07-07 22:55:50 -04:00
### badwolf theme with [bufferline][f] integration
2013-07-07 22:55:11 -04:00
![img ](https://github.com/bling/vim-airline/wiki/screenshots/badwolf.png )
2013-07-09 18:05:37 -04:00
# Contributions
2013-06-30 15:29:35 -04:00
2013-07-09 18:05:37 -04:00
Contributions and pull requests are welcome. Please take note of the following guidelines:
2013-07-09 10:41:37 -04:00
* 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.
2013-06-30 15:29:35 -04:00
2013-07-09 18:05:37 -04:00
# License
2013-06-30 15:29:35 -04:00
2013-07-09 18:05:37 -04:00
`:help license`
2013-07-01 19:49:40 -04:00
[a]: https://github.com/Lokaltog/vim-powerline
[b]: https://github.com/Lokaltog/powerline
[c]: https://github.com/Lokaltog/powerline-fonts
2013-07-01 21:33:10 -04:00
[d]: https://github.com/tpope/vim-fugitive
[e]: https://github.com/scrooloose/syntastic
[f]: https://github.com/bling/vim-bufferline
2013-07-05 20:15:52 -04:00
[g]: https://github.com/bling/minivimrc
2013-07-07 09:07:03 -04:00
[h]: http://en.wikipedia.org/wiki/Open/closed_principle
[i]: https://github.com/Shougo/unite.vim
[j]: https://github.com/kien/ctrlp.vim
2013-07-07 13:58:15 -04:00
[k]: https://github.com/tpope/vim-pathogen
[l]: https://github.com/Shougo/neobundle.vim
[m]: https://github.com/gmarik/vundle
2013-07-07 20:38:19 -04:00
[n]: http://vim.wikia.com/wiki/256_colors_in_vim
2013-07-09 18:32:35 -04:00
[o]: https://github.com/techlivezheng/vim-plugin-minibufexpl
[p]: https://github.com/sjl/gundo.vim
[q]: https://github.com/mbbill/undotree
[r]: https://github.com/scrooloose/nerdtree
[s]: https://github.com/majutsushi/tagbar
2013-07-12 22:47:56 -04:00
[t]: https://powerline.readthedocs.org/en/latest/fontpatching.html