我经常发现自己处于这种情况:
- 从当前工作目录使用 NERDTree 打开 gVim。
- 从 NERDTree 打开一个文件
<S-T>
以便它抓取一个新选项卡。 :tabprevious
返回NERDTree。- 探索目录并使用 打开第二个文件
<S-T>
。 - 关闭第二个文件,
:q
或者ZZ
。
我原本期望接下来会发生什么5.是返回到 NERDTree,但 Vim 总是折叠选项卡并打开右侧的选项卡。这很少是我打算做的,我更希望 Vim 保留我循环浏览的所有选项卡的列表。因此,当我关闭一个选项卡时,它会将其从堆栈中弹出并聚焦下一个选项卡。
这可以在其他编辑器(主要是 IDE)中看到,例如 Komodo Edit。
是否有一个插件可以为 Vim 实现这一功能?
答案1
要转到第一个选项卡(大概是打开了 NERDTree 的选项卡),请执行:tabfirst
。Vim 不会保留按“最近访问”排序的选项卡列表,并且:tabprevious
/:tabnext
仅处理左侧/右侧的选项卡。
的默认操作T
就是在新选项卡中打开所选文件和返回 NERDTree 所在的选项卡。所以我不确定你为什么:tabprevious
要这样做T
。
使用 NERDTree 的常见方法是当您需要时立即打开它,并将其设置为在打开文件时自动关闭。我不记得这个选项的名字了,但快速:help nerdtree
就足够了。
另外,我担心你在这里犯了一个错误:你使用 Vim 的“选项卡”就好像它们与其他地方的选项卡一样。这是一个坏主意,因为它们根本不是那样设计的。相反,你应该阅读有关窗口和缓冲区的内容。