let g:NERDTreeShowHidden=1 let g:NERDTreeGitStatusShowIgnored=1 if !&diff autocmd StdinReadPre * let s:std_in=1 autocmd VimEnter * NERDTree | if argc() > 0 || exists('s:std_in') | wincmd p | endif autocmd VimEnter * if argc() > 0 | silent NERDTreeFind | wincmd p | endif endif autocmd BufWinEnter * if getcmdwintype() == '' | silent NERDTreeMirror | endif autocmd BufEnter * if winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif " set status line on tab switch function NERDTreeStatusLineTabSwitch() let tab_nr = tabpagenr() let buffer_list = tabpagebuflist(tab_nr) " default to 2 let meaningful_window_nr = 2 for buffer_nr in buffer_list let buffer_type = getbufvar(buffer_nr, "&filetype") if index(g:NERDTreeStatusLineTabSwitchFiletypes, buffer_type) == -1 let meaningful_window_nr = bufwinnr(buffer_nr) break endif endfor exe meaningful_window_nr .. "wincmd w" endfunction autocmd TabLeave * call NERDTreeStatusLineTabSwitch() map NERDTreeToggle