vim-airline/doc/airline.txt

282 lines
8.9 KiB
Plaintext
Raw Normal View History

*airline.txt* Lean and mean statusline that's light as air
2013-07-01 07:33:26 -04:00
==============================================================================
2013-07-15 10:45:47 -04:00
INTRODUCTION *airline*
2013-07-01 07:33:26 -04:00
2013-08-02 08:11:53 -04:00
vim-airline is a fast and lightweight alternative to powerline, written
in 100% vimscript with no outside dependencies.
2013-07-01 07:33:26 -04:00
2013-08-02 08:11:53 -04:00
==============================================================================
FEATURES *airline-features*
* tiny core written with extensibility in mind.
* integrates with many popular plugins.
2013-07-31 16:07:14 -04: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.
2013-07-31 16:07:14 -04:00
* fully customizable; if you know a little |statusline| syntax you can
tweak it to your needs.
2013-07-31 16:07:14 -04:00
* trivial to write colorschemes; for a minimal theme you need to edit
9 lines of colors. (please send pull requests)
2013-07-01 07:33:26 -04:00
==============================================================================
NAME *airline-name*
Where did the name come from?
2013-07-01 07:33:26 -04:00
I wrote this on an airplane, and since it's light as air it turned out to be a
2013-07-01 07:33:26 -04:00
good name :-)
==============================================================================
CONFIGURATION *airline-configuration*
2013-07-01 07:33:26 -04:00
There are a couple configuration values available (shown with their default
2013-07-01 07:33:26 -04:00
values):
2013-07-01 23:48:50 -04:00
* the separator used on the left side
2013-07-01 07:33:26 -04:00
>
let g:airline_left_sep='>'
<
2013-07-01 23:48:50 -04:00
* the separator used on the right side
2013-07-01 07:33:26 -04:00
>
2013-07-02 05:49:06 -04:00
let g:airline_right_sep='<'
2013-07-01 07:33:26 -04:00
<
2013-07-18 01:56:29 -04:00
* enable/disable fugitive/lawrencium integration
2013-07-01 07:33:26 -04:00
>
let g:airline_enable_branch=1
let g:airline_branch_empty_message=''
2013-07-01 07:33:26 -04:00
<
* enable/disable syntastic integration
>
let g:airline_enable_syntastic=1
<
2013-07-31 16:07:14 -04:00
* enable/disable tagbar integration
>
let g:airline_enable_tagbar=1
<
* enable modified detection
>
let g:airline_detect_modified=1
<
* enable paste detection
>
let g:airline_detect_paste=1
<
2013-07-24 07:35:31 -04:00
* enable iminsert detection
>
let g:airline_detect_iminsert=1
<
* enable whitespace detection
>
let g:airline_detect_whitespace=0 "disabled
let g:airline_detect_whitespace=1 "icon and message (default)
let g:airline_detect_whitespace=2 "icon only
<
* change the default theme
2013-07-01 07:33:26 -04:00
>
let g:airline_theme='dark'
2013-07-01 07:33:26 -04:00
<
* enable/disable usage of patched powerline font symbols
>
let g:airline_powerline_fonts=0
<
* define the set of text to display for each mode.
>
let g:airline_mode_map = {} " see source for current list
<
2013-07-02 07:04:36 -04:00
* define the set of filename match queries which excludes a window from having
its statusline modified
>
2013-07-02 07:04:36 -04:00
let g:airline_exclude_filenames = [] " see source for current list
<
* 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-07 20:38:19 -04: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
<
==============================================================================
COMMANDS *airline-commands*
:AirlineTheme {theme-name} *:AirlineTheme*
Displays or changes the current theme.
2013-08-08 10:42:27 -04:00
:AirlineToggleWhitespace *:AirlineToggleWhitespace*
Toggles whitespace detection.
==============================================================================
CUSTOMIZATION *airline-customization*
The following are some unicode symbols for customizing the left/right
separators, as well as the powerline font glyths.
>
" 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 = '␤ '
let g:airline_linecolumn_prefix = '¶ '
let g:airline_branch_prefix = '⎇ '
let g:airline_paste_symbol = 'ρ'
let g:airline_paste_symbol = 'Þ'
let g:airline_paste_symbol = '∥'
let g:airline_whitespace_symbol = 'Ξ'
" powerline symbols
let g:airline_left_sep = ''
2013-07-07 20:38:19 -04:00
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_branch_prefix = ' '
let g:airline_readonly_symbol = ''
let g:airline_linecolumn_prefix = ' '
" 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_branch_prefix = '⭠'
let g:airline_readonly_symbol = '⭤'
let g:airline_linecolumn_prefix = '⭡'
<
For more intricate customizations, you can replace the predefined sections
2013-07-06 13:01:21 -04:00
with the usual statusline syntax.
>
2013-07-07 20:38:19 -04:00
" here are the the default values
let g:airline_section_a (the mode/paste indicator)
let g:airline_section_b (the fugitive/lawrencium branch indicator)
let g:airline_section_c (bufferline or filename)
2013-08-06 21:42:32 -04:00
let g:airline_section_gutter
let g:airline_section_x (tagbar, filetype)
let g:airline_section_y (fileencoding, fileformat)
let g:airline_section_z (percentage, line number, column number)
2013-08-06 21:42:32 -04:00
let g:airline_section_warning (syntastic, whitespace)
" here is an example of how you could replace the branch indicator with
" the current working directory, followed by the filename.
let g:airline_section_b = '%{getcwd()}'
let g:airline_section_c = '%t'
<
==============================================================================
FUNCREFS *airline-funcrefs*
vim-airline internally uses funcrefs to integrate with third party plugins,
and you can tap into this functionality to extend it for you needs.
*g:airline_statusline_funcrefs*
The g:airline_statusline_funcrefs variable is an array of funcrefs that get
invoked before the statusline gets overwritten for each window. The following
is an example of how you can extend vim-airline to support a new plugin.
>
function! MyPlugin()
if &filetype == 'MyPluginFileType'
let w:airline_section_a = 'MyPlugin'
let w:airline_section_b = '%f'
let w:airline_section_c = '%{MyPlugin#function()}'
let g:airline_variable_referenced_in_statusline = 'foo'
endif
endfunction
call add(g:airline_statusline_funcrefs, function('MyPlugin'))
<
*g:airline_exclude_funcrefs*
The g:airline_exclude_funcrefs variable is an array that's returns 1 or 0 to
determine whether that particular window should be excluded from having its
statusline modified. Here is an example:
>
function! ExcludeFoo()
return &filetype == 'FooType'
endfunction
call add(g:airline_exclude_funcrefs, function('ExcludeFoo'))
<
==============================================================================
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've written in any programming
language before it will be easy to pick up.
The |dark.vim| theme fully documents this procedure and will guide you through
the process. The |jellybeans.vim| theme is another example of how to write a
theme, but instead of manually declaring colors, it extracts the values from
highlight groups.
==============================================================================
TROUBLESHOOTING *airline-troubleshooting*
Q. There are no colors.
A. You need to set up your terminal correctly. For more details, see
<http://vim.wikia.com/wiki/256_colors_in_vim>. Alternatively, if you want to
bypass the automatic detection of terminal colors, you can force Vim into 256
colors with this:
>
set t_Co=256
<
Q. The statusline does not appear until I create a split.
A. This is the default setting of |laststatus|. If you want it to appear all
the time, add the following to your vimrc:
>
set laststatus=2
<
Q. Powerline symbols are not showing up.
A. First, you must install patched powerline fonts. Second, you must enable
unicode in vim.
>
set encoding=utf-8
<
Q. There is a pause when leaving insert mode.
A. Add the following to your vimrc.
>
set ttimeoutlen=50
<
Solutions to other common problems can be found in the Wiki:
<https://github.com/bling/vim-airline/wiki/FAQ>
2013-07-01 07:33:26 -04:00
==============================================================================
CONTRIBUTIONS *airline-contributions*
2013-07-15 10:45:47 -04:00
Contributions and pull requests are welcome.
2013-07-01 07:33:26 -04:00
==============================================================================
LICENSE *airline-license*
2013-08-02 13:56:12 -04:00
MIT license. Copyright © 2013 Bailey Ling.
2013-07-15 10:45:47 -04:00
2013-07-01 07:33:26 -04:00
vim:tw=78:ts=8:ft=help:norl: