Vim 在非相邻拆分中打开Nerdtree文件

Vim 在非相邻拆分中打开Nerdtree文件,vim,nerdtree,Vim,Nerdtree,通常我会切换到Nerdtree文件缓冲区,方法是按Ctrl+H两次,将光标移到屏幕的左边缘。然而,这意味着当我打开文件时,它们总是在NERDTree窗口旁边的分割中。如何在拆分中打开与NERDTree窗口不相邻的文件?如果按o或enter键,NERDTree将在上一个窗口中打开文件。您可以通过按i在上一窗口的拆分中打开它,或通过按s在垂直拆分中打开它 听起来好像您已将Ctrl-H映射到Ctrl-W H。不让NERDtree将文件打开到与NERDtree窗口相邻的窗口中的诀窍是不让相邻窗口成为上一

通常我会切换到Nerdtree文件缓冲区,方法是按Ctrl+H两次,将光标移到屏幕的左边缘。然而,这意味着当我打开文件时,它们总是在NERDTree窗口旁边的分割中。如何在拆分中打开与NERDTree窗口不相邻的文件?

如果按o或enter键,NERDTree将在上一个窗口中打开文件。您可以通过按i在上一窗口的拆分中打开它,或通过按s在垂直拆分中打开它

听起来好像您已将Ctrl-H映射到Ctrl-W H。不让NERDtree将文件打开到与NERDtree窗口相邻的窗口中的诀窍是不让相邻窗口成为上一个窗口

要实现这一点,请关闭NERDTree窗口。(:nerdtreettoggle,或任何您的映射键都可以切换NERDTree)。然后移动到要在其中打开文件的相应窗口。然后再次打开NERDTree。现在,您可以在上一个窗口中使用o或enter打开文件。。。或使用i或s进行拆分


为了避免切换NERDTree窗口的打开/关闭,您可能需要设置选项NERDTreeQuitOnOpen。然后,当您在一个窗口中打开文件时,只需打开NERDTree。

我通常使用
:NERDTreeFind
从右侧拆分窗口移动到最左侧的NERDTree

此命令显示NERDtree窗口中当前打开的文件。基于此,上一个窗口是右侧的窗口。当然,只有当您要打开的文件在目录树中与已打开的文件很接近时,这种方法才很方便

为了快速访问
:NERDTreeFind
,我将它映射到我的
~/.vimrc
中的
Ctrl+m

nnoremap <C-m> :NERDTreeFind<CR>
nnoremap:NERDTreeFind

当使用“i”拆分时,这似乎不起作用。这是NerdTree的bug吗?我注意到了同样的,
I
总是在NerdTree附近以水平分割的方式打开,而不管最后一个活动窗口是什么