Vim-无需重置即可进入NERDTree的快捷方式?

Vim-无需重置即可进入NERDTree的快捷方式?,vim,macvim,nerdtree,Vim,Macvim,Nerdtree,我是vim的新手,所以如果这真的很愚蠢,我会提前道歉,但我似乎无法在谷歌上找到它 我在stack overflow上发现了这个剪断,它将焦点设置为nerdtree: let mapleader = "," nmap <leader>ne :NERDTree<cr> 让mapleader=“,” nmap-ne:NERDTree 但是,如果我在运行这个命令时扩展了一堆目录,它会重置,有没有办法不重置 如果有帮助的话,我正在使用Macvim 另外,我知道:nerdtree

我是vim的新手,所以如果这真的很愚蠢,我会提前道歉,但我似乎无法在谷歌上找到它

我在stack overflow上发现了这个剪断,它将焦点设置为nerdtree:

let mapleader = ","
nmap <leader>ne :NERDTree<cr>
让mapleader=“,”
nmap-ne:NERDTree
但是,如果我在运行这个命令时扩展了一堆目录,它会重置,有没有办法不重置

如果有帮助的话,我正在使用Macvim


另外,我知道
:nerdtreettoggle
,但我希望树始终可见。

nerdtree窗口的文件类型为
nerdtree

下面是一个函数,它将聚焦第一个具有文件类型nerd tree的窗口,或者将光标保留在它原来所在的窗口中

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>
nnoremap nf:call FocusNERDtree()

或者,您可以使用
和方向(
h
j
k
l
)手动移动窗口。

nerdtree窗口的文件类型为
nerdtree

下面是一个函数,它将聚焦第一个具有文件类型nerd tree的窗口,或者将光标保留在它原来所在的窗口中

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>
nnoremap nf:call FocusNERDtree()

或者您可以使用
和方向(
h
j
k
l
)手动移动窗口。

@FDinoff已经给出了方法,但实际上您不需要自己实现NERDTree焦点。它没有文档,但它是内置的

尝试以下映射:

:nnoremap <leader>ne :NERDTreeFocus<CR>
:nnoremap ne:NERDTreeFocus

摘自@kev的伟大答案。

@FDinoff已经指明了方向,但实际上你不需要自己实现NERDTree焦点。它没有文档,但它是内置的

尝试以下映射:

:nnoremap <leader>ne :NERDTreeFocus<CR>
:nnoremap ne:NERDTreeFocus

摘自@kev的伟大答案。

尝试
:nerdtreetobggle
而不是
:NERDTree
@glts隐藏树我希望它一直打开不,它不隐藏树,而是切换它。打开,关闭,打开,关闭。。。事实上我不知道你在问什么,你能说得更具体一点吗?@glts请看更新的问题你能描述一下你想做什么吗?你的问题不清楚。映射应该做什么?尝试
:nerdtreetobggle
而不是隐藏树的
:NERDTree
@glts我希望它一直打开不,它不隐藏树,而是切换它。打开,关闭,打开,关闭。。。事实上我不知道你在问什么,你能说得更具体一点吗?@glts请看更新的问题你能描述一下你想做什么吗?你的问题不清楚。映射应该做什么?这是我通过查看文档而不是源代码得到的code@FDinoff我知道,这感觉很不公平,但我是通过浏览Stackoverflow搜索找到的。。。不过,这是我通过查看文档而不是源代码得到的结果code@FDinoff我知道,这感觉很不公平,但我是通过浏览Stackoverflow搜索找到的。。。但投票支持努力:P