跨选项卡保持打开状态的vim文件浏览器?

跨选项卡保持打开状态的vim文件浏览器?,vim,tabs,Vim,Tabs,这就是我的意思。内置的文件浏览器:Ex和其他类似NERDtree和Project的浏览器有一个致命的缺陷,即它们只能在单个选项卡内操作。我大量使用选项卡,我想要一个文件树视图,我可以使所有选项卡全局可见,并将文件从中打开到新的/现有的选项卡中。某种类型的窗格或分离的窗口或你拥有的东西。就像凯特(kde)的工作方式 我知道emacs也有类似的功能,因为我在过去使用过它,但我不记得它叫什么。可能不是您想要的答案,但是有另一种方式来思考vim中的选项卡,这将有助于解决您的问题 您可以将每个选项卡视为工

这就是我的意思。内置的文件浏览器:Ex和其他类似NERDtree和Project的浏览器有一个致命的缺陷,即它们只能在单个选项卡内操作。我大量使用选项卡,我想要一个文件树视图,我可以使所有选项卡全局可见,并将文件从中打开到新的/现有的选项卡中。某种类型的窗格或分离的窗口或你拥有的东西。就像凯特(kde)的工作方式


我知道emacs也有类似的功能,因为我在过去使用过它,但我不记得它叫什么。

可能不是您想要的答案,但是有另一种方式来思考vim中的选项卡,这将有助于解决您的问题

您可以将每个选项卡视为工作区中的“视图”(相当于像eclipse这样的IDE中的透视图),将缓冲区列表视为其他程序中通常的选项卡

这样,您可以有一个选项卡用于“打开NERDTree的单个编辑器”,一个选项卡用于“大型编辑器”,一个选项卡用于“垂直拆分编辑器”等,并且每个选项卡可以打开,也可以不打开相同的缓冲区

这样,您就可以只使用单个布局,使用
:bnext
:bprev
沿列表顺序切换缓冲区,或者
:b,映射
]b
[b
也被定义为映射到
:bnext
:bprev
以便于访问。还有一个:FufBuffer命令,允许您轻松跳转到打开的缓冲区(然后在找到具有一些真正直观的默认绑定的按键时打开、拆分或按tab打开)


我是vimcasts的超级粉丝,我对这里所说的总体想法有了更多的细节。

可能不是您想要的答案,但是有另一种方式来思考vim中的选项卡,这将有助于解决您的问题

您可以将每个选项卡视为工作区中的“视图”(相当于像eclipse这样的IDE中的透视图),将缓冲区列表视为其他程序中通常的选项卡

这样,您可以有一个选项卡用于“打开NERDTree的单个编辑器”,一个选项卡用于“大型编辑器”,一个选项卡用于“垂直拆分编辑器”等,并且每个选项卡可以打开,也可以不打开相同的缓冲区

这样,您就可以只使用单个布局,使用
:bnext
:bprev
沿列表顺序切换缓冲区,或者
:b,映射
]b
[b
也被定义为映射到
:bnext
:bprev
以便于访问。还有一个:FufBuffer命令,允许您轻松跳转到打开的缓冲区(然后在找到具有一些真正直观的默认绑定的按键时打开、拆分或按tab打开)


我是vimcasts的超级粉丝,对我在这里谈论的总体想法有了更多的细节。

从我有限的经验来看,Vim的标签与firefox、kate、textmate或任何其他应用程序完全不同。它们不代表文件,你不应该这样使用它们。正如actionshrimp所说,标签更像是视图或p你不能让一个窗口(比如NERDTree)从标签上拆下

在记住这一区别的同时,您可以尝试检测选项卡的创建并启动NERDTree。这样,您可能会在每个选项卡上都有文件资源管理器,但这些文件资源管理器将是NERDTree的x个实例,而不是1个实例。我想这将很快导致内存问题


我在做的每个项目都有一个标签。这与我认为标签背后的理念是一致的,对保持组织性非常有帮助。

从我有限的经验来看,Vim的标签与firefox、kate、textmate或任何其他应用程序完全不同。它们不代表文件,你不应该像正如actionshrimp所说,标签更像视图或透视图,你不能让一个窗口(比如NERDTree)与标签分离

在记住这一区别的同时,您可以尝试检测选项卡的创建并启动NERDTree。这样,您可能会在每个选项卡上都有文件资源管理器,但这些文件资源管理器将是NERDTree的x个实例,而不是1个实例。我想这将很快导致内存问题


我在做的每个项目都有一个标签。这与我认为标签背后的理念是一致的,对保持组织性非常有帮助。

我也有同样的问题,所以我写了这个小应用程序,我也有同样的问题,所以我写了这个小应用程序

好的,但我有一个非常重要的问题。呵呵w我可以在每个选项卡中使用不同的cwd,这样我就不必每次都从相同的$PATH导航来打开缓冲区吗?如果使用
:lcd
命令,则该窗口的cwd会更改(选项卡或拆分),即使在该窗口中更改缓冲区后也是如此。希望这是您的意思?完整的缓冲区列表在所有窗口和选项卡之间共享,尽管在单个vim实例中。@numerodix:您可以将您的工作目录设置为b,并且始终与您正在编辑的缓冲区相同。好的,但是我有一个非常重要的问题。我如何才能拥有一个完整的缓冲区列表每个选项卡中有不同的cwd,这样我就不必每次都从相同的$PATH导航以打开缓冲区?如果使用
:lcd
命令,则该窗口的cwd将更改(选项卡或拆分),即使在该窗口中更改缓冲区后也是如此。希望这是您的意思?完整的缓冲区列表在所有窗口和选项卡之间共享,尽管是在一个vim实例中。@numerodix:您可以将您的工作目录设置为与正在编辑的缓冲区相同的b。我相信这是重复的。请检查此答案:或此链接f或者一种替代方法。另外,检查关于“选项卡vs缓冲区”的这一条,以澄清vim的选项卡行为。我相信这是重复的。检查这个答案:或者这个链接以获得替代方法。另外,ch