自动打开两个窗格

时间:2019-07-07 21:25:36

标签: vim nerdtree

我通过以下操作打开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左窗格中打开文件-而不是右窗格。什么控制o窗格在哪个窗格中打开文件?

1 个答案:

答案 0 :(得分:1)

如果您只是想-在启动时-如果它是目录,则对第一个参数执行: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 right 窗格中打开。

还要检查此related question