feat .vimrc: 增加判定當前視窗大小來決定要不要自動開啟nerdtree
This commit is contained in:
parent
7cac40a66e
commit
1b14b96085
60
dot_vimrc
60
dot_vimrc
@ -204,39 +204,45 @@ let g:airline#extensions#tabline#enabled = 1
|
|||||||
nnoremap <C-t> :NERDTreeToggle<CR>
|
nnoremap <C-t> :NERDTreeToggle<CR>
|
||||||
nmap <F9> :NERDTreeToggle<CR>
|
nmap <F9> :NERDTreeToggle<CR>
|
||||||
|
|
||||||
|
function! s:MaybeStartNERDTree()
|
||||||
|
if winheight(0) > 20 && winwidth(0) > 140
|
||||||
|
" 啟動時自動開啟 NERDTree,且只在沒有指定檔案時開啟
|
||||||
|
autocmd VimEnter * NERDTree | wincmd p
|
||||||
|
"autocmd StdinReadPre * let s:std_in=1
|
||||||
|
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
|
||||||
|
|
||||||
" 啟動時自動開啟 NERDTree,且只在沒有指定檔案時開啟
|
" 如果關掉最後一個 buffer,並且只剩下 NERDTree,則關閉 Vim
|
||||||
autocmd VimEnter * NERDTree | wincmd p
|
autocmd BufEnter * if winnr('$') == 1 && getbufvar('%', '&filetype') == 'nerdtree' | quit | endif
|
||||||
"autocmd StdinReadPre * let s:std_in=1
|
let NERDTreeShowHidden=1
|
||||||
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
|
"let g:nerdtree_tabs_open_on_console_startup=1
|
||||||
|
let NERDTreeQuitOnOpen=0
|
||||||
|
|
||||||
" 如果關掉最後一個 buffer,並且只剩下 NERDTree,則關閉 Vim
|
"" 沒有文件開啟的時候關閉nerdtree
|
||||||
autocmd BufEnter * if winnr('$') == 1 && getbufvar('%', '&filetype') == 'nerdtree' | quit | endif
|
autocmd QuitPre * if empty(&bt) | lclose | endif
|
||||||
let NERDTreeShowHidden=1
|
|
||||||
"let g:nerdtree_tabs_open_on_console_startup=1
|
|
||||||
let NERDTreeQuitOnOpen=0
|
|
||||||
|
|
||||||
"" 沒有文件開啟的時候關閉nerdtree
|
"" Start NERDTree
|
||||||
autocmd QuitPre * if empty(&bt) | lclose | endif
|
"autocmd VimEnter * NERDTree
|
||||||
|
"" Go to previous (last accessed) window.
|
||||||
|
"autocmd VimEnter * wincmd p
|
||||||
|
|
||||||
"" Start NERDTree
|
"autocmd StdinReadPre * let s:std_in=1
|
||||||
"autocmd VimEnter * NERDTree
|
"autocmd VimEnter * NERDTree | if argc() > 0 || exists("s:std_in") | wincmd p | endif
|
||||||
"" Go to previous (last accessed) window.
|
"autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif
|
||||||
"autocmd VimEnter * wincmd p
|
|
||||||
|
|
||||||
"autocmd StdinReadPre * let s:std_in=1
|
" Start NERDTree and put the cursor back in the other window.
|
||||||
"autocmd VimEnter * NERDTree | if argc() > 0 || exists("s:std_in") | wincmd p | endif
|
autocmd VimEnter * NERDTree | wincmd p
|
||||||
"autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif
|
|
||||||
|
|
||||||
" Start NERDTree and put the cursor back in the other window.
|
" Exit Vim if NERDTree is the only window remaining in the only tab.
|
||||||
autocmd VimEnter * NERDTree | wincmd p
|
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif
|
||||||
|
|
||||||
" Exit Vim if NERDTree is the only window remaining in the only tab.
|
" If another buffer tries to replace NERDTree, put it in the other window, and bring back NERDTree.
|
||||||
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif
|
autocmd BufEnter * if winnr() == winnr('h') && bufname('#') =~ 'NERD_tree_\d\+' && bufname('%') !~ 'NERD_tree_\d\+' && winnr('$') > 1 |
|
||||||
|
|
||||||
" If another buffer tries to replace NERDTree, put it in the other window, and bring back NERDTree.
|
|
||||||
autocmd BufEnter * if winnr() == winnr('h') && bufname('#') =~ 'NERD_tree_\d\+' && bufname('%') !~ 'NERD_tree_\d\+' && winnr('$') > 1 |
|
|
||||||
\ let buf=bufnr() | buffer# | execute "normal! \<C-W>w" | execute 'buffer'.buf | endif
|
\ let buf=bufnr() | buffer# | execute "normal! \<C-W>w" | execute 'buffer'.buf | endif
|
||||||
|
|
||||||
" Mirror the NERDTree before showing it. This makes it the same on all tabs.
|
" Mirror the NERDTree before showing it. This makes it the same on all tabs.
|
||||||
nnoremap <C-n> :NERDTreeMirror<CR>:NERDTreeFocus<CR>
|
nnoremap <C-n> :NERDTreeMirror<CR>:NERDTreeFocus<CR>
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" 自動執行
|
||||||
|
autocmd VimEnter * call s:MaybeStartNERDTree()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user