Vim卡舌和缓冲器

Vim卡舌和缓冲器,vim,tabs,buffer,Vim,Tabs,Buffer,我很久以前就开始使用Vim了。到目前为止,我很享受与这位编辑的经历。直到最近,我才开始在Vim中使用选项卡 我必须承认,我对Vim中的整个缓冲区/选项卡/窗口概念感到有点沮丧。例如,假设我正在处理与一个“项目”相关的多个文件。所有文件都在选项卡中打开。假设我发出一个命令,使开关成为活动缓冲区(例如,使用CTRL-]跳转到函数定义)。结果是,在当前选项卡中,我看到缓冲区和定义函数的文件。但是我已经在另一个选项卡中有了相同的缓冲区!现在我有两个内容相同的选项卡 是否有可能以某种方式将缓冲区与选项卡绑

我很久以前就开始使用Vim了。到目前为止,我很享受与这位编辑的经历。直到最近,我才开始在Vim中使用选项卡

我必须承认,我对Vim中的整个缓冲区/选项卡/窗口概念感到有点沮丧。例如,假设我正在处理与一个“项目”相关的多个文件。所有文件都在选项卡中打开。假设我发出一个命令,使开关成为活动缓冲区(例如,使用CTRL-]跳转到函数定义)。结果是,在当前选项卡中,我看到缓冲区和定义函数的文件。但是我已经在另一个选项卡中有了相同的缓冲区!现在我有两个内容相同的选项卡

是否有可能以某种方式将缓冲区与选项卡绑定在一起?或者,假设让vim检查要切换到的缓冲区是否在某个窗口/选项卡中当前打开,然后切换到该窗口/选项卡

到目前为止,我发现了以下情况(这并不能解决上述问题,但在某种程度上证明了我所寻找的Vim行为):


现在,当使用:sb,:sbnext,:sbprev而不是:b,:bnext,:bprev来切换缓冲区时,Vim将检查缓冲区是否在选项卡/窗口中打开,并切换到该选项卡/窗口。

这个问题与这个问题类似:

您可能还想向google上的Vim用户组提出这个问题!许多vim标签的问题是,它们的名称不正确。它们应该被称为viewframes之类的东西,因为它们不像大多数人期望的“普通”选项卡那样(就像其他应用程序中使用的那样)。Vim的主要做法是通过缓冲区和视图(窗口)。。。制表符是一个不错的添加,但它们不应该像在其他程序中那样在一个制表符/一个文件(缓冲区)模式下工作。@ldigas虽然我同意您的说法,即“制表符”一词具有误导性,但OP指的是将制表符用作视口比将制表符用作传统制表符更有效。可能重复“是”。我想我想要的是违背Vim的本质:)我花了一段时间才开始忘记使用标签。我仍然认为vim应该有一个内置的小型缓冲区,比如tabline。这将使来自选项卡编辑器的人更容易意识到缓冲区可以以类似的方式使用。
set switchbuf=usetab