From 80a9d1a2766a444881f81fa0dd326f33a8b33fe8 Mon Sep 17 00:00:00 2001 From: Bailey Ling Date: Mon, 1 Jul 2013 21:33:10 -0400 Subject: [PATCH] detect lazyredraw and handle accordingly --- README.md | 15 ++++++++------- plugin/airline.vim | 5 +++++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 8cae3b0..8b13267 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,9 @@ there's already [powerline][b], why yet another statusline? * it's standard vimscript, no python needed * 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) -* integration with [vim-bufferline](https://github.com/bling/vim-bufferline) -* looks good with regular fonts, with support to use powerline font glyths -* 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. +* 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] +* it looks good with regular fonts, and provides configuration points so you can use unicode or powerline symbols +* it's fast to load, taking only 0.5ms. by comparison, powerline needs 60ms on the same machine. # 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 * 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 -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 3. the colors don't change - * you need `set lazyredraw` and `set t_Co=256` in your vimrc - * if you know why these settings affect colors, i'd love to know the reason! + * ensure that `set t_Co=256` is set in your vimrc # screenshots @@ -53,3 +51,6 @@ contributions and pull requests are welcome. [a]: https://github.com/Lokaltog/vim-powerline [b]: https://github.com/Lokaltog/powerline [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 diff --git a/plugin/airline.vim b/plugin/airline.vim index cc3892e..cd35b9c 100644 --- a/plugin/airline.vim +++ b/plugin/airline.vim @@ -132,4 +132,9 @@ augroup airline autocmd WinLeave * call update_statusline(0) autocmd VimEnter,WinEnter,BufWinEnter * call update_statusline(1) 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