VIM:如何从左侧NerdTree面板中以vsplit的方式打开右侧的文件?


83

我安装了NerdTree插件。

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

Answers:


86

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


3
可以,但是如果我想打开另一个键入s的文件,那么我会得到另一个拆分窗口,但是我想用当前打开的文件替换旧的拆分窗口,我该怎么做?
悄悄地

5
看来set splitright,按照@PrinceGoulash的建议,s在NerdTree内的文件上添加后,无需执行操作即可在右侧打开一个拆分Ctrl-W r。如果我对您的理解正确,如果您只想坚持两个垂直分割的窗口,则可以切换到旧窗口,然后通过单击NerdTree在其中打开一个新文件Enter
grimgav 2011年

不,我要说的是,有两个vsplit窗口,左边是nerdtree菜单,如果我按“ s”,它将出现在右边。不再显示拆分窗口。
2011年

@guru然后,您想“打开”新窗口,而不是“拆分”它。总是在/替换上一个选定的缓冲区中打开一个窗口。不幸的是,它很可能是两个打开的窗口中的左一个。不理想,但一种选择是通过旋转窗口Ctrl+W R,然后打开文件并向后旋转。
JHannes 2013年

159

为了让vsplit把新的缓冲区上当前缓冲区的权利:

set splitright

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

set splitbelow

但是,我没有用NerdTree尝试过。


3
好的,但是我该如何打开替换旧文件的文件呢?
2011年

1
@shfully如果已splitright设置,则可以退出当前位于右侧的文件,vsplit newfilename这会将新文件放在旧文件所在的位置。您也可以像这样在一行中完成这些操作:q | vsplit newfilename。假设右边的文件是活动文件。
SunSparc 2014年

1
刚刚测试过,splitright与nerdtree一起使用效果很好。请注意,除非有人使用,否则这将使所有进一步的拆分成为水平拆分,而不是垂直拆分vsplit
Dwight Spencer 2015年

3

这有点骇人听闻,但是我的做法是这样的:

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

在我的系统上,如果文件尚未在屏幕上打开,则在我刚打开的最后一个窗口中将其打开。 从您要在其中打开文件的窗口开始

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

在<code> <leader> n <leader> n </ code>之后,您将返回NERDTree

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

选择您要打开的文件!

选择您想要的文件!

快速操作C-w =将使您的窗户恢复适当的比例。


很好的解决方案。按<leader>n你的意思是<C-n>
Hafenkranich

3

不知道是否还有其他人仍在努力,但是这就是我的处理方式。

您可以使用

:ls 

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

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

:b1 选择foo.txt

:b2 为blame_the_user.java

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.