【问题标题】:VIM: How can i open a file at right side as vsplit from a left side NerdTree panel?VIM:如何从左侧的 NerdTree 面板以 vsplit 的形式在右侧打开文件?
【发布时间】:2011-12-16 06:11:54
【问题描述】:

我安装了 NerdTree 插件。

如何从左侧的 NerdTree 面板以 vsplit 的形式在右侧打开文件?

【问题讨论】:

    标签: vim plugins editor nerdtree


    【解决方案1】:

    有一个 s 命令,但它会打开一个拆分到当前缓冲区左侧的文件。虽然你可以按 Ctrl+W r 来交换窗口。

    【讨论】:

    • 没关系,但是如果我想打开另一个文件键入 s,那么我会得到另一个拆分窗口,但是我想用当前打开的文件替换旧的拆分窗口,我该怎么做?
    • 似乎在添加set splitright 之后,正如@PrinceGoulash 所建议的那样,在NerdTree 内的文件上s 将在右侧打开一个拆分,而无需执行Ctrl-W r。如果我对您的理解正确,如果您只想使用两个垂直拆分的窗口,您可以切换到旧窗口并通过 NerdTree 在其中打开一个新文件,只需点击Enter
    • 不,我想说的是,有两个 vsplit 窗口,左边是 nerdtree 菜单,如果我按“s”,它就会来到右边。不会再出现 vsplitted 窗口。
    • @guru 然后你想“打开”新窗口,而不是“拆分”它。始终在/替换最后选择的缓冲区中打开一个窗口。不幸的是,它很可能是您打开的两个中的左侧之一。不理想,但一种选择是通过Ctrl+W R 旋转窗口,然后打开文件并旋转回来。
    【解决方案2】:

    要使vsplit 将新缓冲区放在当前缓冲区的右侧:

    set splitright
    

    同样,让split 将新缓冲区放在当前缓冲区下方:

    set splitbelow
    

    不过,我还没有在 NerdTree 上尝试过。

    【讨论】:

    • 好的,但是如何打开一个 vsplited 文件替换旧文件?
    • @shibly 如果您设置了splitright,那么您可以退出当前位于右侧的文件vsplit newfilename,这会将新文件放在旧文件所在的位置。您也可以像这样在一行中执行这些操作:q | vsplit newfilename。这假定右边的文件是活动文件。
    • 刚刚测试过,splitright 确实适用于 nerdtree。请注意,这将使所有进一步的拆分水平而不是垂直,除非使用vsplit
    【解决方案3】:

    这有点小技巧,但我是这样做的:

    1. 将光标放在我要打开文件的窗口中
    2. 点击<leader>n<leader>n(这会关闭NERDtree,然后用NERDtree中的光标再次打开它)
    3. 选择文件

    在我的系统上,如果文件尚未在我的屏幕上打开,则会在我刚刚打开的最后一个窗口中打开它。

    从您要打开文件的窗口开始。

    点击<leader>n<leader>n 关闭并重新打开NERDTree

    选择你想要的文件!

    快速C-w = 将使您的窗户恢复到正确的比例。

    【讨论】:

    • 很好的解决方案。 <leader>n 你的意思是<C-n>
    【解决方案4】:

    不确定是否还有其他人仍在为此苦苦挣扎,但这就是我的处理方式。

    你可以使用

    :ls 
    

    列出可用的缓冲区。看起来像:

    1 "foo.txt"
    2 "blame_the_user.java"
    

    :b1 选择 foo.txt

    :b2 for blame_the_user.java

    可以使用:sp:vs 从任何窗口设置中完成此方法。

    首先打开要拆分的缓冲区。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-14
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      • 1970-01-01
      • 2016-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多