diff --git a/plugin/airline.vim b/plugin/airline.vim index 1d5ddcd5..573c5316 100644 --- a/plugin/airline.vim +++ b/plugin/airline.vim @@ -41,9 +41,12 @@ function! s:on_window_changed() endif " Handle each window only once, since we might come here several times for " different autocommands. - let l:key = [bufnr('%'), winnr(), winnr('$'), tabpagenr()] + let l:key = [bufnr('%'), winnr(), winnr('$'), tabpagenr(), &ft] if get(g:, 'airline_last_window_changed', []) == l:key \ && &stl is# '%!airline#statusline('.winnr().')' + \ && ft !~? 'gitcommit' + " fugitive is special, it changes names and filetypes several times, + " make sure the caching does not get into its way return endif let g:airline_last_window_changed = l:key