2013-07-02 01:49:40 +02:00
|
|
|
|
*airline.txt* Lean and mean statusline that's light as air
|
2013-07-01 13:33:26 +02:00
|
|
|
|
|
|
|
|
|
==============================================================================
|
2013-07-15 16:45:47 +02:00
|
|
|
|
INTRODUCTION *airline*
|
2013-07-01 13:33:26 +02:00
|
|
|
|
|
2013-07-10 15:48:13 +02:00
|
|
|
|
There's already powerline <https://github.com/Lokaltog/powerline>, why yet
|
2013-07-01 13:33:26 +02:00
|
|
|
|
another statusline?
|
|
|
|
|
|
2013-07-08 05:12:05 +02:00
|
|
|
|
* it's 100% vimscript; no python needed.
|
|
|
|
|
* it's small. i want the core plugin to be less than 200 lines as a rule.
|
|
|
|
|
* it gets you 90% of the way there; in addition to all the standard goodies,
|
2013-07-10 15:48:13 +02:00
|
|
|
|
it integrates with a variety of popular plugins, including:
|
2013-07-08 05:12:05 +02:00
|
|
|
|
* fugitve <https://github.com/tpope/vim-fugitive>
|
|
|
|
|
* syntastic <https://github.com/scrooloose/syntastic>
|
|
|
|
|
* vim-bufferline <https://github.com/bling/vim-bufferline>
|
|
|
|
|
* unite <https://github.com/Shougo/unite.vim>
|
|
|
|
|
* ctrlp <https://github.com/kien/ctrlp.vim>
|
2013-07-18 07:56:29 +02:00
|
|
|
|
* lawrencium <https://bitbucket.org/ludovicchabant/vim-lawrencium>
|
2013-07-08 05:12:05 +02:00
|
|
|
|
* 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.
|
2013-07-15 16:45:47 +02:00
|
|
|
|
* it's fully customizable; if you know a little |statusline| syntax you can
|
2013-07-08 05:12:05 +02:00
|
|
|
|
tweak it to your needs.
|
|
|
|
|
* 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-07-01 13:33:26 +02:00
|
|
|
|
|
|
|
|
|
==============================================================================
|
|
|
|
|
NAME *airline-name*
|
|
|
|
|
|
2013-07-22 23:23:41 +02:00
|
|
|
|
Where did the name come from?
|
2013-07-01 13:33:26 +02:00
|
|
|
|
|
2013-07-10 15:48:13 +02:00
|
|
|
|
I wrote this on an airplane, and since it's light as air it turned out to be a
|
2013-07-01 13:33:26 +02:00
|
|
|
|
good name :-)
|
|
|
|
|
|
|
|
|
|
==============================================================================
|
2013-07-02 01:49:40 +02:00
|
|
|
|
CONFIGURATION *airline-configuration*
|
2013-07-01 13:33:26 +02:00
|
|
|
|
|
2013-07-10 15:48:13 +02:00
|
|
|
|
There are a couple configuration values available (shown with their default
|
2013-07-01 13:33:26 +02:00
|
|
|
|
values):
|
|
|
|
|
|
2013-07-02 05:48:50 +02:00
|
|
|
|
* the separator used on the left side
|
2013-07-01 13:33:26 +02:00
|
|
|
|
>
|
|
|
|
|
let g:airline_left_sep='>'
|
|
|
|
|
<
|
|
|
|
|
|
2013-07-02 05:48:50 +02:00
|
|
|
|
* the separator used on the right side
|
2013-07-01 13:33:26 +02:00
|
|
|
|
>
|
2013-07-02 11:49:06 +02:00
|
|
|
|
let g:airline_right_sep='<'
|
2013-07-01 13:33:26 +02:00
|
|
|
|
<
|
|
|
|
|
|
2013-07-18 07:56:29 +02:00
|
|
|
|
* enable/disable fugitive/lawrencium integration
|
2013-07-01 13:33:26 +02:00
|
|
|
|
>
|
|
|
|
|
let g:airline_enable_fugitive=1
|
|
|
|
|
<
|
|
|
|
|
|
|
|
|
|
* enable/disable syntastic integration
|
|
|
|
|
>
|
|
|
|
|
let g:airline_enable_syntastic=1
|
|
|
|
|
<
|
|
|
|
|
|
2013-07-22 23:23:41 +02:00
|
|
|
|
* enable modified detection
|
|
|
|
|
>
|
|
|
|
|
let g:airline_detect_modified=1
|
|
|
|
|
<
|
|
|
|
|
|
|
|
|
|
* enable paste detection
|
|
|
|
|
>
|
|
|
|
|
let g:airline_detect_paste=1
|
|
|
|
|
<
|
2013-07-24 13:35:31 +02:00
|
|
|
|
* enable iminsert detection
|
|
|
|
|
>
|
|
|
|
|
let g:airline_detect_iminsert=1
|
2013-07-22 23:23:41 +02:00
|
|
|
|
|
2013-07-15 22:19:26 +02:00
|
|
|
|
* change the default theme
|
2013-07-01 13:33:26 +02:00
|
|
|
|
>
|
2013-07-06 02:15:52 +02:00
|
|
|
|
let g:airline_theme='dark'
|
2013-07-01 13:33:26 +02:00
|
|
|
|
<
|
|
|
|
|
|
|
|
|
|
* enable/disable usage of patched powerline font symbols
|
|
|
|
|
>
|
|
|
|
|
let g:airline_powerline_fonts=0
|
|
|
|
|
<
|
|
|
|
|
|
2013-07-04 17:39:49 +02:00
|
|
|
|
* define the set of text to display for each mode.
|
|
|
|
|
>
|
|
|
|
|
let g:airline_mode_map = {} " see source for current list
|
|
|
|
|
<
|
|
|
|
|
|
2013-07-02 13:04:36 +02:00
|
|
|
|
* define the set of filename match queries which excludes a window from having
|
|
|
|
|
its statusline modified
|
2013-07-02 13:00:31 +02:00
|
|
|
|
>
|
2013-07-02 13:04:36 +02:00
|
|
|
|
let g:airline_exclude_filenames = [] " see source for current list
|
2013-07-02 13:00:31 +02:00
|
|
|
|
<
|
|
|
|
|
|
|
|
|
|
* define the set of filetypes which are excluded from having its window
|
|
|
|
|
statusline modified
|
|
|
|
|
>
|
|
|
|
|
let g:airline_exclude_filetypes = [] " see source for current list
|
|
|
|
|
<
|
2013-07-08 02:38:19 +02:00
|
|
|
|
|
2013-07-14 21:44:16 +02:00
|
|
|
|
* defines whether the preview window should be excluded from have its window
|
|
|
|
|
statusline modified (may help with plugins which use the preview window
|
|
|
|
|
heavily)
|
|
|
|
|
>
|
|
|
|
|
let g:airline_exclude_preview = 0
|
|
|
|
|
<
|
|
|
|
|
|
2013-07-15 22:19:26 +02:00
|
|
|
|
==============================================================================
|
|
|
|
|
COMMANDS *airline-commands*
|
|
|
|
|
|
|
|
|
|
:AirlineTheme {theme-name} *:AirlineTheme*
|
|
|
|
|
Displays or changes the current theme.
|
|
|
|
|
|
2013-07-02 01:49:40 +02:00
|
|
|
|
==============================================================================
|
|
|
|
|
CUSTOMIZATION *airline-customization*
|
|
|
|
|
|
2013-07-10 15:48:13 +02:00
|
|
|
|
The following are some unicode symbols for customizing the left/right
|
|
|
|
|
separators, as well as the powerline font glyths.
|
2013-07-02 01:49:40 +02:00
|
|
|
|
|
|
|
|
|
>
|
|
|
|
|
" unicode symbols
|
|
|
|
|
let g:airline_left_sep = '»'
|
|
|
|
|
let g:airline_left_sep = '▶'
|
|
|
|
|
let g:airline_right_sep = '«'
|
|
|
|
|
let g:airline_right_sep = '◀'
|
|
|
|
|
let g:airline_linecolumn_prefix = '␊ '
|
|
|
|
|
let g:airline_linecolumn_prefix = ' '
|
2013-07-02 13:00:31 +02:00
|
|
|
|
let g:airline_linecolumn_prefix = '¶ '
|
2013-07-02 01:49:40 +02:00
|
|
|
|
let g:airline_fugitive_prefix = '⎇ '
|
2013-07-06 20:22:34 +02:00
|
|
|
|
let g:airline_paste_symbol = 'ρ'
|
2013-07-06 20:30:21 +02:00
|
|
|
|
let g:airline_paste_symbol = 'Þ'
|
|
|
|
|
let g:airline_paste_symbol = '∥'
|
2013-07-02 01:49:40 +02:00
|
|
|
|
|
|
|
|
|
" powerline symbols
|
|
|
|
|
let g:airline_left_sep = ''
|
2013-07-08 02:38:19 +02:00
|
|
|
|
let g:airline_left_alt_sep = ''
|
2013-07-18 04:28:21 +02:00
|
|
|
|
let g:airline_right_sep = ''
|
|
|
|
|
let g:airline_right_alt_sep = ''
|
2013-07-04 17:39:49 +02:00
|
|
|
|
let g:airline_fugitive_prefix = ' '
|
2013-07-02 01:49:40 +02:00
|
|
|
|
let g:airline_readonly_symbol = ''
|
|
|
|
|
let g:airline_linecolumn_prefix = ' '
|
2013-07-17 21:09:18 +02:00
|
|
|
|
|
|
|
|
|
" old vim-powerline symbols
|
|
|
|
|
let g:airline_left_sep = '⮀'
|
|
|
|
|
let g:airline_left_alt_sep = '⮁'
|
|
|
|
|
let g:airline_right_sep = '⮂'
|
|
|
|
|
let g:airline_right_alt_sep = '⮃'
|
|
|
|
|
let g:airline_fugitive_prefix = '⭠'
|
|
|
|
|
let g:airline_readonly_symbol = '⭤'
|
|
|
|
|
let g:airline_linecolumn_prefix = '⭡'
|
2013-07-02 01:49:40 +02:00
|
|
|
|
<
|
|
|
|
|
|
2013-07-10 15:48:13 +02:00
|
|
|
|
For more intricate customizations, you can replace the predefined sections
|
2013-07-06 19:01:21 +02:00
|
|
|
|
with the usual statusline syntax.
|
2013-07-04 17:39:49 +02:00
|
|
|
|
|
|
|
|
|
>
|
2013-07-08 02:38:19 +02:00
|
|
|
|
" here are the the default values
|
2013-07-15 22:19:26 +02:00
|
|
|
|
let g:airline_section_a (the mode/paste indicator)
|
2013-07-18 07:56:29 +02:00
|
|
|
|
let g:airline_section_b (the fugitive/lawrencium branch indicator)
|
2013-07-08 03:00:14 +02:00
|
|
|
|
let g:airline_section_c (bufferline or filename)
|
|
|
|
|
let g:airline_section_gutter (syntastic and readonly flag)
|
|
|
|
|
let g:airline_section_x (filetype)
|
|
|
|
|
let g:airline_section_y (fileencoding, fileformat)
|
|
|
|
|
let g:airline_section_z (percentage, line number, column number)
|
2013-07-08 05:12:05 +02:00
|
|
|
|
|
|
|
|
|
" here is an example of how you could replace the fugitive indicator with
|
|
|
|
|
" the current working directory, followed by the filename.
|
|
|
|
|
let g:airline_section_b = '%{getcwd()}'
|
|
|
|
|
let g:airline_section_c = '%t'
|
2013-07-04 17:39:49 +02:00
|
|
|
|
<
|
|
|
|
|
|
2013-07-10 15:48:13 +02:00
|
|
|
|
If there is a particular plugin or filetype that is not supported, you can
|
|
|
|
|
extend it by adding a function reference to the global array. Here is an
|
|
|
|
|
example that you could add to your vimrc:
|
|
|
|
|
>
|
|
|
|
|
function! MyPlugin()
|
|
|
|
|
if &filetype == 'MyPluginFileType'
|
|
|
|
|
let w:airline_section_a = 'MyPlugin'
|
|
|
|
|
let w:airline_section_b = '%f'
|
|
|
|
|
let w:airline_section_c = '%{MyPlugin#function()}'
|
|
|
|
|
endif
|
|
|
|
|
endfunction
|
|
|
|
|
call add(g:airline_window_override_funcrefs, function('MyPlugin'))
|
|
|
|
|
<
|
2013-07-10 21:55:55 +02:00
|
|
|
|
|
2013-07-26 00:48:15 +02:00
|
|
|
|
In a similar fashion, you can define a function to exclude a window from
|
|
|
|
|
having its statusline modified.
|
|
|
|
|
>
|
|
|
|
|
function! ExcludeFoo()
|
|
|
|
|
return &filetype == 'FooType'
|
|
|
|
|
endfunction
|
|
|
|
|
call add(g:airline_exclude_funcrefs, function('ExcludeFoo'))
|
|
|
|
|
<
|
|
|
|
|
|
2013-07-24 05:00:23 +02:00
|
|
|
|
==============================================================================
|
|
|
|
|
WRITING THEMES *airline-themes*
|
|
|
|
|
|
|
|
|
|
Themes are written "close to the metal" -- you will need to know some basic
|
|
|
|
|
VimL syntax to write a theme, but if you're written in any programming
|
|
|
|
|
language it will be easy to pick up. Have a look at the dark.vim theme
|
|
|
|
|
where it is fully documented.
|
|
|
|
|
|
2013-07-20 15:24:15 +02:00
|
|
|
|
==============================================================================
|
|
|
|
|
TROUBLESHOOTING *airline-troubleshooting*
|
|
|
|
|
|
|
|
|
|
Solutions to common problems can be found FAQ section in the Wiki:
|
|
|
|
|
<https://github.com/bling/vim-airline/wiki/FAQ>
|
|
|
|
|
|
2013-07-01 13:33:26 +02:00
|
|
|
|
==============================================================================
|
|
|
|
|
CONTRIBUTIONS *airline-contributions*
|
|
|
|
|
|
2013-07-15 16:45:47 +02:00
|
|
|
|
Contributions and pull requests are welcome.
|
2013-07-01 13:33:26 +02:00
|
|
|
|
|
|
|
|
|
==============================================================================
|
|
|
|
|
LICENSE *airline-license*
|
|
|
|
|
|
2013-07-15 16:45:47 +02:00
|
|
|
|
Copyright © Bailey Ling.
|
|
|
|
|
|
|
|
|
|
Distributed under the same terms as the vim |license|.
|
|
|
|
|
|
|
|
|
|
|
2013-07-01 13:33:26 +02:00
|
|
|
|
|
|
|
|
|
vim:tw=78:ts=8:ft=help:norl:
|