对于那些不熟悉 Vim 并且来自其他文本编辑器(在我的例子中是 Sublime Text)的人来说,这是一个答案。
我通读了所有这些答案,但仍然不清楚。如果您阅读了足够多的内容,那么事情就会开始变得有意义,但是我花了几个小时在问题之间来回走动。
正如其他人所解释的那样,第一件事是:
Tab Pages听起来很像tabs,它们的行为类似于选项卡,并且看起来很像大多数其他 GUI 编辑器中的选项卡,但事实并非如此。我认为这是在 Vim 中构建的一个糟糕的心理模型,不幸的是,它掩盖了您在标签页中拥有的额外功能。
我理解的第一个描述来自@crenate 的回答是它们相当于多个桌面。从这方面来看,您只会打开几个桌面,但每个桌面内都会打开许多 GUI 窗口。
我会说它们与其他编辑器/浏览器中的相似:
- 选项卡分组
- Sublime Text 工作区(即项目中打开的文件的列表)
当您看到它们时,您会意识到它们的强大之处在于您可以轻松地将文件集(缓冲区)组合在一起,例如不同标签页中的 CSS 文件、HTML 文件和 JS 文件。这实际上非常棒。
其他让我感到困惑的描述
视口
这对我来说毫无意义。一个视口,虽然它确实有一个定义的字典术语,但我只听说过在:help window
文档中提到 Vim 窗口。对于 Sublime Text、Visual Studio、Atom、Notepad++ 等编辑器,我从未听说过 Viewport 一词。事实上,在我开始尝试使用标签页之前,我从未听说过 Vim。
如果您像查看多个桌面一样查看标签页,那么将桌面称为单个窗口似乎很奇怪。
工作区
这可能更有意义,字典定义是:
临时使用的内存存储设施。
所以它就像一个存储一组缓冲区的地方。
我最初听起来不像Sublime Text 的工作空间概念,它是您在项目中打开的所有文件的列表:
sublime-workspace 文件,其中包含用户特定的数据,例如打开的文件和对每个文件的修改。
然而仔细想想,这确实是一致的。如果你将 Vim 选项卡页面视为 Sublime Text 项目,那么在每个项目中只打开一个文件并在项目之间不断切换似乎很奇怪。因此,为什么使用标签页只打开一个文件是奇怪的。
窗户的集合
以这种:help window
方式引用标签页。加上许多其他答案使用相同的概念。但是,除非您了解 vim 窗口是什么,否则它并没有多大用处,就像在沙子上建造城堡一样。
正如我上面提到的,vim 窗口与视口相同,并且在这篇linux.com 文章中得到了很好的解释:
Vim 中一个非常有用的功能是能够在一个或多个文件之间分割可视区域,或者只是分割窗口以更轻松地查看同一文件的两个位。Vim 文档将其称为视口或窗口,可以互换。
如果您曾经通过使用 :help topic 或按 F1 键使用过 Vim 的帮助功能,您可能已经熟悉此功能。当您输入帮助时,Vim 会拆分视口并在顶部视口中打开帮助文档,而您的文档会在底部视口中打开。
我觉得很奇怪标签页被称为窗口集合而不是缓冲区集合。但我想你可以打开两个单独的标签页,每个标签页都有多个窗口都指向同一个缓冲区,至少到目前为止我是这样理解的。