在 VIM 中,我像一个经过良好调整的人一样使用选项卡。我有文件名作为选项卡标签,我习惯于浏览选项卡以查找要编辑的文件。但是,如果该文件位于选项卡中的一个拆分中,并且焦点位于另一个拆分上,我将看不到该文件,我会感到非常困惑。
有没有办法在标签标题中显示拆分数量?我已经浏览了:h stl
(选项卡标题使用状态行语法)中的选项,但我没有看到任何拆分。似乎您也可以传入一个函数,但我尝试搜索“vim count splits”但一无所获。
另外,如果有一些插件可以促进这一点,我全神贯注。
最后一个窗口编号等于窗口拆分的数量:tabpagewinnr(v:lnum, '$')
。帮助中有一个示例:help setting-guitablabel
。
停止使用这样的标签可能会有所帮助。
您真正想要做的是“切换到某个选项卡中的特定缓冲区”,而不是“切换到具有特定缓冲区的某个选项卡”。
您可以使用两种方法中的任何一种来实现。
在您的~/.vimrc
中,添加以下行:
set switchbuf=useopen,usetab
并使用以下命令跳转到所需的缓冲区,无论它在哪里,或者如果当前窗口没有显示在任何地方,则拆分当前窗口:
:sb bufname
使用提供“更好”的缓冲区导航的插件。我使用 CtrlP 跳转到缓冲区的任何位置(默认情况下或多或少类似于上面的命令),还有其他的。
如果您坚持在“标签”中思考,您可以尝试:
:tabs<CR>:xtabn
是x
缓冲区所在的选项卡的编号。当然,使用映射可以使上面的命令更快。
但是,如果该文件位于选项卡中的一个拆分中,并且焦点位于另一个拆分上,我将看不到该文件,我会感到非常困惑。
为了缓解这个问题,我:set ls=2
.