Tho*_*mas 177
in:h NERDTree:
:NERDTreeFind :NERDTreeFind
Find the current file in the tree. If no tree exists for the current tab,
or the file is not under the current root, then initialize a new tree where
the root is the directory of the current file.
Run Code Online (Sandbox Code Playgroud)
我不认为默认情况下它会受到任何限制,所以你必须自己做一个键盘绑定.
nmap ,n :NERDTreeFind<CR>
Run Code Online (Sandbox Code Playgroud)
是我的.vimrc中出现的内容
nmap ,m :NERDTreeToggle<CR>
Run Code Online (Sandbox Code Playgroud)
Che*_*han 17
检查一下,它会自动执行同步操作,每当你更改缓冲区时,nerdtree会自动刷新(我从这里复制了很少的修改)
" Check if NERDTree is open or active
function! IsNERDTreeOpen()
return exists("t:NERDTreeBufName") && (bufwinnr(t:NERDTreeBufName) != -1)
endfunction
" Call NERDTreeFind iff NERDTree is active, current window contains a modifiable
" file, and we're not in vimdiff
function! SyncTree()
if &modifiable && IsNERDTreeOpen() && strlen(expand('%')) > 0 && !&diff
NERDTreeFind
wincmd p
endif
endfunction
" Highlight currently open buffer in NERDTree
autocmd BufEnter * call SyncTree()
Run Code Online (Sandbox Code Playgroud)
这也可能只是一个评论。当前版本切换 NerdTree 并使用 SyncTree 会导致 NERDTree 被调用两次。这个修改似乎解决了这个问题:
" Check if NERDTree is open or active
function! IsNERDTreeOpen()
return exists("t:NERDTreeBufName") && (bufwinnr(t:NERDTreeBufName) != -1)
endfunction
" Call NERDTreeFind iff NERDTree is active, current window contains a modifiable
" file, and we're not in vimdiff
function! SyncTree()
if &modifiable && IsNERDTreeOpen() && strlen(expand('%')) > 0 && !&diff
NERDTreeFind
wincmd p
endif
endfunction
" Highlight currently open buffer in NERDTree
autocmd BufEnter * call SyncTree()
function! ToggleNerdTree()
set eventignore=BufEnter
NERDTreeToggle
set eventignore=
endfunction
nmap <C-n> :call ToggleNerdTree()<CR>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21314 次 |
| 最近记录: |