Vim 自动打开两个窗格

Vim 自动打开两个窗格,vim,nerdtree,Vim,Nerdtree,我通过执行以下操作打开nerdtree: $ mvim . 如果我这样做: :NERDTree 我得到两个垂直窗格,显示一个树状视图。在左窗格中,如果我导航到一个文件并点击o,该文件将在右窗格中打开。另一方面,如果我导航到右侧窗格中的文件并点击o,该文件将在右侧窗格中打开。这是我想要的设置,但我不想必须键入:NERDTree才能到达那里 我正在尝试设置nerdtree,以便在设置时: $ mvim . 两个垂直窗格自动打开。我发现这个脚本: "Nerdtree--open two wind

我通过执行以下操作打开
nerdtree

$ mvim .
如果我这样做:

:NERDTree
我得到两个垂直窗格,显示一个树状视图。在左窗格中,如果我导航到一个文件并点击
o
,该文件将在右窗格中打开。另一方面,如果我导航到右侧窗格中的文件并点击
o
,该文件将在右侧窗格中打开。这是我想要的设置,但我不想必须键入
:NERDTree
才能到达那里

我正在尝试设置nerdtree,以便在设置时:

$ mvim .
两个垂直窗格自动打开。我发现这个脚本:

"Nerdtree--open two windows on startup
autocmd vimenter * call s:CheckToSplitTwoTrees()
function! s:CheckToSplitTwoTrees()
    if argc() != 1 || !isdirectory(argv(0))
        return
    endif

    vsplit

    "there should really be a better way to do this... e.g. :NERDTreeSecondary
    call nerdtree#checkForBrowse(argv(0))
endfunction

这正是我想要的,但是左窗格中的
o
会在左窗格中打开文件,而不是右窗格。什么控制哪个窗格在中打开文件?

如果您只想在启动时在第一个参数上执行
:NERDTree
,如果它是一个目录,您的函数可以,但只需执行所需的命令

"Nerdtree--open two windows on startup
autocmd vimenter * call s:CheckToSplitTwoTrees()
function! s:CheckToSplitTwoTrees()
    if argc() != 1 || !isdirectory(argv(0))
        return
    endif
    exe 'NERDTree '.argv(0)
endfunction
安装NERDTree插件后,打开带有目录的vim会自动显示NERDTree浏览器(主,其中
o
打开替换浏览器的文件),而不是常规的netrw浏览器。因此,执行
':NERDTree.argv(0)
将打开通常的(次要)NERDTree,其中
o
将在右侧窗格中打开

也检查一下这个