如何在vim的选项卡标签中显示选项卡中的拆分数?

如何在vim的选项卡标签中显示选项卡中的拆分数?,vim,tabs,Vim,Tabs,在VIM中,我像一个调整良好的人一样使用标签。我将文件名作为选项卡标签,我习惯于浏览选项卡以查找我要编辑的文件。但是,如果该文件在选项卡中处于拆分状态,并且焦点在另一个拆分上,我将看不到该文件,我将非常困惑。 有没有办法在选项卡标题中显示拆分的数量?我已经浏览了:h stl(选项卡标题使用状态行语法)中的选项,但是我没有看到任何拆分的内容。看起来您也可以传入一个函数,但我尝试搜索“vim count splits”,但没有找到任何结果 此外,如果有一些插件,这将促进这一点,我洗耳恭听 但是,如果

在VIM中,我像一个调整良好的人一样使用标签。我将文件名作为选项卡标签,我习惯于浏览选项卡以查找我要编辑的文件。但是,如果该文件在选项卡中处于拆分状态,并且焦点在另一个拆分上,我将看不到该文件,我将非常困惑。

有没有办法在选项卡标题中显示拆分的数量?我已经浏览了
:h stl
(选项卡标题使用状态行语法)中的选项,但是我没有看到任何拆分的内容。看起来您也可以传入一个函数,但我尝试搜索“vim count splits”,但没有找到任何结果

此外,如果有一些插件,这将促进这一点,我洗耳恭听

但是,如果该文件位于选项卡中的一个拆分中,并且焦点位于另一个拆分上,我将看不到该文件,并且我将非常困惑


为了缓解这个问题,我将ls=2设置为最后一个窗口编号等于窗口拆分的编号:
tabpagewinner(v:lnum,“$”)
的帮助中有一个例子:帮助设置Guitablebel

停止使用这样的选项卡可能会有所帮助

您真正想要做的是“切换到某个选项卡中的特定缓冲区”,而不是“切换到某个具有特定缓冲区的选项卡”

您可以使用两种方法中的任何一种来实现这一点

  • ~/.vimrc
    中,添加以下行:

    set switchbuf=useopen,usetab
    
    并使用以下命令跳转到所需的缓冲区(无论其位于何处),或者如果当前窗口未显示在任何位置,则拆分当前窗口:

    :sb bufname
    
  • 使用提供“更好”缓冲区导航的插件。我使用CtrlP跳转到缓冲区,无论它在哪里(默认情况下或多或少类似于上面的命令),还有其他的

如果你坚持在“标签”中思考,你可以尝试:

:tabs<CR>:xtabn
:选项卡:xtabn

x
是缓冲区所在选项卡的编号。当然,上面的命令可以通过映射更快。

Woohoo!成功了。下面是我最后做的:而且,如果这个计数不包括帮助选项卡或快速修复列表,那就太好了。我稍后再补充