我有两个垂直分割窗口。我希望将标签行设置为仅第一个窗口的宽度,这样新打开的标签就不会与第二个窗口重叠。有办法吗?
答案1
您需要编写一个提供自定义标签行的函数,并将其安装到'tabline'
设置中。(请注意,这不适用于带有图形标签行的 GVIM。)
帮助中:help setting-tabline
有一个可运行的示例,它模拟了默认的 tabline。您需要对其进行操作以将宽度限制为第一个窗口的宽度,您可以使用 检索该宽度winwidth(1)
。要使您的 tabline 也能正确处理双倍宽度的字符,strdisplaywidth()
可以使用较新的函数。
你看,这是可行的,但我怀疑这种努力是否值得获得利益(我看不到)。
答案2
您或许可以操纵tabline
(参见:h setting-tabline
)选项来实现您的目标,但是...当您达到十几个标签时,由于可用宽度的限制,标签行的实用性已经非常有限,因此,如果您将其减少 50% 或更多,它的实用性就会更小。
这种行为的意义何在?它有什么好处?你的最终目标是什么?