【问题标题】:vim file browser that stays open across tabs?vim 文件浏览器在标签之间保持打开状态?
【发布时间】:2011-06-21 18:55:58
【问题描述】:

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

我知道emacs有这样的东西,因为我以前用过它,但我不记得它叫什么了。

【问题讨论】:

标签: vim tabs


【解决方案1】:

可能不是您正在寻找的答案,但还有另一种思考 vim 中选项卡的方法可以帮助您解决问题。

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

这样,您可以为“打开 NERDTree 的单个编辑器”设置一个选项卡,为“大型编辑器”设置一个选项卡,为“垂直拆分编辑器”设置一个选项卡等,并且每个选项卡可能会或可能不会打开相同的缓冲区。

这样您就可以坚持使用单一布局,并使用:bnext 和:bprev 沿列表顺序切换缓冲区,或使用:b <approxname> 轻松跳转到命名缓冲区。如果你得到unimpaired plugin,映射]b和[b也被定义为映射到:bnext和:bprev以便于访问。 fuzzyfinder plugin 也有一个 :FufBuffer 命令,可以让您轻松跳转到打开的缓冲区(然后通过一些非常直观的默认绑定找到它,然后按下键打开、拆分打开或选项卡打开)。

我是 vimcast 的忠实粉丝,this episode 对我在这里谈论的总体概念有更多的细节。

【讨论】:

  • 好的,但是我有一个非常重要的问题。如何在每个选项卡中使用不同的 cwd,这样我就不必每次都从同一个 $PATH 导航来打开缓冲区?
  • 如果您使用:lcd 命令,即使在更改该窗口中的缓冲区之后,也会更改该窗口的 cwd(选项卡或拆分)。希望这就是你的意思?完整的缓冲区列表在所有窗口和选项卡之间共享,尽管在单个 vim 实例中。
  • @numerodix:您可以将工作目录设置为 b 始终与您正在编辑的缓冲区相同。 vim.wikia.com/wiki/Set_working_directory_to_the_current_file
【解决方案2】:

我有同样的问题,所以我写了这个小应用程序http://vimpal.sourceforge.net/

【讨论】:

    【解决方案3】:

    根据我有限的经验,Vim 的选项卡与 firefox、kate 或 textmate 或任何其他应用程序中的选项卡完全不同。它们不代表文件,您不应该那样使用它们。正如actionshrimp所说,标签更像是视图或透视图,您不能将窗口(如NERDTree)与标签分离。

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

    我正在处理的每个项目都有一个选项卡。这与我认为标签背后的想法一致,并且对保持井井有条非常有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-12
      • 2015-07-13
      • 2016-03-28
      • 1970-01-01
      • 2022-01-26
      • 1970-01-01
      相关资源
      最近更新 更多