我是vim的新手,所以如果真的很蠢,我会提前道歉,但我似乎无法在谷歌上找到它。
我在堆栈溢出时发现这个剪切将焦点设置为nerdtree:
let mapleader = ","
nmap <leader>ne :NERDTree<cr>
但是如果我在运行此命令时扩展了一堆目录它会重置,有没有一种方法它不会重置?
如果有帮助,我正在使用Macvim。
另外,我知道:NERDTreeToggle
,但我希望树一直可见。
答案 0 :(得分:4)
@FDinoff已经表明了方法,但实际上你不需要自己实现NERDTree焦点。它没有文档,但是内置了。
尝试此映射:
:nnoremap <leader>ne :NERDTreeFocus<CR>
摘自this @kev的好回答。
答案 1 :(得分:3)
nerdtree窗口的文件类型为nerdtree
下面是一个函数,它将聚焦第一个具有文件类型书呆子树的窗口,或将光标留在原来的窗口中。
function! FocusNERDtree()
let initial_win_num = winnr()
for i in range(1, winnr('$'))
exec i.'wincmd w'
if &filetype == 'nerdtree'
return 1
endif
endfor
exec initial_win_num.'wincmd w'
return 0
endfunction
所以你可以为此创建一个地图。
nnoremap <leader>nf :call FocusNERDtree()<cr>
或者您可以使用<c-w>
和方向(h
,j
,k
或l
)手动移动窗口