detect lazyredraw and handle accordingly

This commit is contained in:
Bailey Ling 2013-07-01 21:33:10 -04:00
parent de8538b55e
commit 80a9d1a276
2 changed files with 13 additions and 7 deletions

View File

@ -8,10 +8,9 @@ there's already [powerline][b], why yet another statusline?
* it's standard vimscript, no python needed * it's standard vimscript, no python needed
* it's small. i want the entire plugin to be less than 200 lines as a rule * it's small. i want the entire plugin to be less than 200 lines as a rule
* gets you 90% of the way there: in addition to all the standard goodies, supports [fugitive](https://github.com/tpope/vim-fugitive) and [syntastic](https://github.com/scrooloose/syntastic) * it gets you 90% of the way there; in addition to all the standard goodies, it integrates with [vim-bufferline][f], [fugitive][d], and [syntastic][e]
* integration with [vim-bufferline](https://github.com/bling/vim-bufferline) * it looks good with regular fonts, and provides configuration points so you can use unicode or powerline symbols
* looks good with regular fonts, with support to use powerline font glyths * it's fast to load, taking only 0.5ms. by comparison, powerline needs 60ms on the same machine.
* it's fast to load. since it's so small, it only takes 0.5ms to load. by comparison, powerline needs 60ms on the same machine.
# why's it called airline? # why's it called airline?
@ -26,11 +25,10 @@ i wrote this on an airplane, and since it's light as air it turned out to be a g
1. the powerline font symbols are not showing up 1. the powerline font symbols are not showing up
* the older deprecated [vim-powerline][a] uses different codes compared to the newer [powerline][b]. * the older deprecated [vim-powerline][a] uses different codes compared to the newer [powerline][b].
* you can grab prepatched fonts at [powerline-fonts][c], or you can manually set the relevant `g:` variables * you can grab prepatched fonts at [powerline-fonts][c], or you can manually set the relevant `g:` variables
2. leaving insert mode does not update the statusline 2. there is a pause when leaving insert mode
* you need to set `ttimeoutlen` to a low number; 50 is recommended * you need to set `ttimeoutlen` to a low number; 50 is recommended
3. the colors don't change 3. the colors don't change
* you need `set lazyredraw` and `set t_Co=256` in your vimrc * ensure that `set t_Co=256` is set in your vimrc
* if you know why these settings affect colors, i'd love to know the reason!
# screenshots # screenshots
@ -53,3 +51,6 @@ contributions and pull requests are welcome.
[a]: https://github.com/Lokaltog/vim-powerline [a]: https://github.com/Lokaltog/vim-powerline
[b]: https://github.com/Lokaltog/powerline [b]: https://github.com/Lokaltog/powerline
[c]: https://github.com/Lokaltog/powerline-fonts [c]: https://github.com/Lokaltog/powerline-fonts
[d]: https://github.com/tpope/vim-fugitive
[e]: https://github.com/scrooloose/syntastic
[f]: https://github.com/bling/vim-bufferline

View File

@ -132,4 +132,9 @@ augroup airline
autocmd WinLeave * call <sid>update_statusline(0) autocmd WinLeave * call <sid>update_statusline(0)
autocmd VimEnter,WinEnter,BufWinEnter * call <sid>update_statusline(1) autocmd VimEnter,WinEnter,BufWinEnter * call <sid>update_statusline(1)
autocmd ColorScheme * hi clear StatusLine | hi clear StatusLineNC autocmd ColorScheme * hi clear StatusLine | hi clear StatusLineNC
" if you know why lazyredraw affects statusline rendering i'd love to know!
if !&lazyredraw
autocmd InsertLeave * :redrawstatus
endif
augroup END augroup END