Python VIM+;netrw:在同一窗口中打开多个文件/缓冲区

Python VIM+;netrw:在同一窗口中打开多个文件/缓冲区,python,vim,nerdtree,python-mode,netrw,Python,Vim,Nerdtree,Python Mode,Netrw,我最近使用NERDTree和python模式切换到VIM。由于NERDTree似乎与python模式有冲突,如果我关闭多个缓冲区中的一个缓冲区,就会破坏我的布局,因此我决定切换到netrw,因为它随VIM一起提供 但是打开一个文件后,如果我通过键入:E打开netrw并通过点击打开另一个文件,VIM将关闭旧文件并在同一窗口中打开新文件。如果我在相同的情况下点击,VIM会添加另一个缓冲区,但会在水平分割中添加一个新窗口 如何向缓冲区列表中添加多个文件/缓冲区,并使用netrw在活动窗口中仅显示最后添

我最近使用NERDTree和python模式切换到VIM。由于NERDTree似乎与python模式有冲突,如果我关闭多个缓冲区中的一个缓冲区,就会破坏我的布局,因此我决定切换到netrw,因为它随VIM一起提供

但是打开一个文件后,如果我通过键入
:E
打开netrw并通过点击
打开另一个文件,VIM将关闭旧文件并在同一窗口中打开新文件。如果我在相同的情况下点击
,VIM会添加另一个缓冲区,但会在水平分割中添加一个新窗口

如何向缓冲区列表中添加多个文件/缓冲区,并使用netrw在活动窗口中仅显示最后添加的缓冲区(无新拆分)#编辑#

提前谢谢!我希望我没有错过手册中的一些琐碎内容

但是打开一个文件后,如果我通过键入
:E
打开netrw并通过点击
打开另一个文件,VIM将关闭旧文件并在同一窗口中打开新文件

[……]

如何使用netrw在同一窗口中打开多个文件/缓冲区

缓冲区添加到列表、缓冲区列表,并在一个或多个选项卡页面的一个或多个窗口中临时显示

由于窗口只能显示一个缓冲区,因此同时查看两个单独缓冲区的唯一方法是在两个单独的窗口中显示它们。这就是netrw的
o
v
所允许的

使用
编辑文件时,上一个缓冲区不会消失:它仍在缓冲区列表中,可以使用
:bp[revious]

项目抽屉访问 我相信你想要的是一个“项目抽屉”(类似TextMate或Sublime Text),显示当前项目文件结构。如果你追求的是行为,那么你就不走运了。Vim没有“项目抽屉”的概念,只有选项卡、窗口(拆分)和缓冲区

有关更多信息,请参阅Vimcast上的这篇文章:

书呆子树 对于一些人来说,像项目抽屉一样使用NerdTree是很常见的,但它最终会失败,因为它阻碍了良好的拆分工作流,正如您所发现的那样。更不用说占用屏幕空间的任务可能占不到您工作流程的10%

Netrw Netrw是一个文件浏览器,应该区别对待。因为netrw映射了
以在当前窗口中打开当前文件。这意味着您通常仅在实际浏览文件时才能看到文件资源管理器。如果正在引用文件结构,请在处理文件时使用拆分来保存netrw

思想 就我个人而言,我发现我很少使用任何文件探索器。我在插入模式下通过
、ctags/cscope、模糊查找器、Projectionister.vim的项目导航,只需使用
:e
,就可以完成文件名的填写。我有一篇相关文章:.

(对于netrw)如果您将g:netrw_chgwin设置为一个窗口号,则在netrw窗口中的文件顶部按[cr]将在指定窗口中打开该文件。如果“C”映射当前显示netrw列表,则可以使用“C”映射为此指定当前窗口

还有:Lexplore命令,它在vim显示器的左侧打开一个netrw窗口;编辑将发生在netrw的右侧


如果您的netrw不支持:Lexplore,您可以从以下网站获得最新的netrw,该软件支持它:

这似乎不是一个真正的编程问题,也许最好是感谢您的快速回复!我可能没有清楚地表达自己(见我的编辑)。我知道缓冲区列表,希望使用
E:
打开多个缓冲区。但只应显示最后打开的缓冲区。如果我想切换,我可以使用gn
:bn
:bp
:b#
进行切换。基本上,这与NERDTree的行为相同。“当您使用编辑文件时,前一个缓冲区不会消失:它仍在缓冲区列表中,可以使用:bp[revious]进行访问。”如果您指的是带钥匙的enter键,则这不适用于我的vim安装。如果我以这种方式打开几个文件,然后使用
:buffers
它只列出我打开的最后一个文件!您的
~/.vimrc
中是否有
设置隐藏的
?如果我删除我的.vimrc,它会工作,因此错误一定在我的配置中的某个地方。我明天会做一些故障排除。谢谢你的帮助!谢谢你的回答。明天我将查看您的文章和建议!:Lexplore正是我想要的。谢谢