*lightline.txt* A light and configurable statusline for Vim Version: 0.0 Author: itchyny (https://github.com/itchyny) License: MIT License Repository: https://github.com/itchyny/lightline.vim Last Change: 2013/08/22 14:36:22. CONTENTS *lightline-contents* Introduction |lightline-introduction| Options |lightline-options| Examples |lightline-examples| NiceExamples |lightline-nice-examples| Troubleshooting |lightline-troubleshooting| Changelog |lightline-changelog| ============================================================================== INTRODUCTION *lightline-introduction* The *lightline* plugin is a light and configurable statusline for Vim. ------------------------------------------------------------------------------ OPTIONS *lightline-options* g:lightline *g:lightline* All the options are stored into this global variable. g:lightline.active *g:lightline.active* g:lightline.inactive *g:lightline.inactive* Dictionaries to specify the status components. The default values are: > let g:lightline.active = { \ 'left': [ [ 'mode', 'paste' ], \ [ 'fugitive', 'readonly', 'filename', 'modified' ] ], \ 'right': [ [ 'lineinfo' ], \ [ 'percent' ], \ [ 'fileformat', 'fileencoding', 'filetype' ] ] } let g:lightline.inactive = { \ 'left': [ [ 'filename' ] ], \ 'right': [ [ 'lineinfo' ], \ [ 'percent' ] ] } < g:lightline.component *g:lightline.component* Dictionary for statusline components. The default value is: > let g:lightline.component = { \ 'mode': '%{lightline#mode()}', \ 'filename': '%t', \ 'modified': '%M', \ 'paste': '%{&paste?"PASTE":""}', \ 'readonly': '%R', \ 'fileencoding': '%{strlen(&fenc)?&fenc:&enc}', \ 'fileformat': '%{&fileformat}', \ 'filetype': '%{strlen(&filetype)?&filetype:"no ft"}', \ 'percent': '%3p%%', \ 'lineinfo': '%3l:%-2v', \ 'fugitive': '%{exists("*fugitive#head")?fugitive#head():""}' } < g:lightline.component_flag *g:lightline.component_flag* Dictionary of boolean expressions for the components. Each expression corresponds to if the component have non-zero length. For example, the flag for paste component is: > let g:lightline.component_flag = { \ 'paste': '(&paste)' } < Users are recommended to set this option together with the component itself. g:lightline.component_func *g:lightline.component_func* Another dictionary for components. This is more convenient because the user does not have to set both component and component_flag. For example, if you want a component for readonly mark, which disappears in help windows: > let g:lightline = { \ 'active': { \ 'left': [ [ 'mode', 'paste' ], \ [ 'myreadonly', 'filename', 'modified' ] ], \ }, \ 'component_func': { \ 'myreadonly': 'MyReadonly' \ }, \ } function! MyReadonly() return &ft !~? 'help' && &ro ? 'RO' : '' endfunction < g:lightline.colorscheme *g:lightline.colorscheme* The colorscheme for lightline.vim. Currently, wombat, solarized and landscape are available. > let g:lightline.colorscheme = 'default' < g:lightline.mode_map *g:lightline.mode_map* A dictionary of names for mode. The default value is: > let g:lightline.mode_map = { \ 'n' : 'NORMAL', \ 'i' : 'INSERT', \ 'R' : 'REPLACE', \ 'v' : 'VISUAL', \ 'V' : 'V-LINE', \ 'c' : 'COMMAND', \ '': 'V-BLOCK', \ 's' : 'SELECT', \ 'S' : 'S-LINE', \ '': 'S-BLOCK', \ '?': ' ' } < ------------------------------------------------------------------------------ EXAMPLES *lightline-examples* You can configure the appearance of statusline. Write the following examples in you .vimrc(_vimrc). In order to change the colorscheme: > let g:lightline = { \ 'colorscheme': 'wombat', \ } In order to define own component: > let g:lightline = { \ 'active': { \ 'left': [ [ 'mode', 'paste' ], [ 'myfilename' ] ] \ }, \ 'component_func': { \ 'myfilename': 'MyFilename', \ 'myreadonly': 'MyReadonly', \ 'mymodified': 'MyModified', \ }, \ } function! MyFilename() return ('' != MyReadonly() ? MyReadonly() . ' ' : '') . \ (&ft == 'vimfiler' ? vimfiler#get_status_string() : \ &ft == 'unite' ? unite#get_status_string() : \ '' != expand('%t') ? expand('%t') : '[No Name]') . \ ('' != MyModified() ? ' ' . MyModified() : '') endfunction function! MyReadonly() return &ft !~? 'help' && &ro ? 'RO' : '' endfunction function! MyModified() return &modifiable && &modified ? '+' : '' endfunction Separators settings: > let g:lightline = { \ 'separator': { 'left': '▶', 'right': '◀' }, \ 'subseparator': { 'left': '>', 'right': '<' } \ } < For |powerline| font users: > let g:lightline = { \ 'separator': { 'left': '', 'right': '' }, \ 'subseparator': { 'left': '', 'right': '' } \ } < For |vim-powerline| font users: > let g:lightline = { \ 'separator': { 'left': '⮀', 'right': '⮂' }, \ 'subseparator': { 'left': '⮁', 'right': '⮃' } \ } < ------------------------------------------------------------------------------ NICE EXAMPLES *lightline-nice-examples* A nice example for |vim-powerline| font users: > let g:lightline = { \ 'colorscheme': 'wombat', \ 'active': { \ 'left': [ [ 'mode', 'paste' ], [ 'myfugitive', 'myfilename' ] ] \ }, \ 'component_func': { \ 'mymodified': 'MyModified', \ 'myreadonly': 'MyReadonly', \ 'myfugitive': 'MyFugitive', \ 'myfilename': 'MyFilename', \ }, \ 'separator': { 'left': '⮀', 'right': '⮂' }, \ 'subseparator': { 'left': '⮁', 'right': '⮃' } \ } function! MyModified() return &modifiable && &modified ? '+' : '' endfunction function! MyReadonly() return &ft !~? 'help' && &ro ? '⭤' : '' endfunction function! MyFilename() return ('' != MyReadonly() ? MyReadonly() . ' ' : '') . \ (&ft == 'vimfiler' ? vimfiler#get_status_string() : \ &ft == 'unite' ? unite#get_status_string() : \ '' != expand('%t') ? expand('%t') : '[No Name]') . \ ('' != MyModified() ? ' ' . MyModified() : '') endfunction function! MyFugitive() return &ft !~? 'vimfiler' && exists("*fugitive#head") && len(fugitive#head()) ? '⭠ '.fugitive#head() : '' endfunction < ------------------------------------------------------------------------------ TROUBLESHOOTING *lightline-troubleshooting* ============================================================================== CHANGELOG *lightline-changelog* 0.0 2013-08-21, ... - Initial commit and implementation ============================================================================== vim:tw=78:sw=4:ts=8:ft=help:norl:noet: