当多选项卡vim中没有足够的空间时,截断文件名的后面而不是前面

当多选项卡vim中没有足够的空间时,截断文件名的后面而不是前面,vim,Vim,如果我没有足够的终端列来显示多选项卡vim会话中的所有文件名,它会截断文件名的前面,以便将它们全部放入选项卡中: 有足够的空间: 没有足够的空间: 正如您所见,它从前面截断了名称,这使它们更难找到。我可以反转此行为以使vim从名称后面截断吗?TL;DR:没有简单的选项,但是(GUI和终端)小报是完全可定制的,因此您确实可以根据需要调整它。 两者都提供了调整tabline的文档以及一个示例MyTabLine()函数 这只是一个简单的例子,它会导致一个tab pages行 类似于默认值,但没有为

如果我没有足够的终端列来显示多选项卡vim会话中的所有文件名,它会截断文件名的前面,以便将它们全部放入选项卡中:

有足够的空间:

没有足够的空间:


正如您所见,它从前面截断了名称,这使它们更难找到。我可以反转此行为以使vim从名称后面截断吗?

TL;DR:没有简单的选项,但是(GUI和终端)小报是完全可定制的,因此您确实可以根据需要调整它。

两者都提供了调整tabline的文档以及一个示例
MyTabLine()
函数

这只是一个简单的例子,它会导致一个tab pages行 类似于默认值,但没有为修改的缓冲区或 截断名称

然后它甚至提到了你想要的行为:

当没有足够的空间时,您将希望以一种巧妙的方式减小标签的宽度

实现截断 为了从右侧截断,可以使用(但它将基于字符计数,并且需要对非ASCII字符进行显式处理)或。将后者与正则表达式原子相结合,还可以匹配字符宽度、处理制表符和双倍宽度字符:

:echo matchstr('a 日本語 string that is too long', '^.*\ze\%>10v.*$')
a 日本語 s
my之类的库函数还可以提供截断指示器:

:echo('a日本語 太长的字符串',10)

a日本語 …
:echo('a日本語 太长的字符串',10)


a日…long

:h设置表格
可能是一个非常酷的帮助,适合所有外国角色。给我一两天的时间把这个问题修正到我的vimrc中,我会接受你的回答。除非你想用勺子给我完整的vim设置语法表:-]好的,玩得开心!这都是关于个人定制的;这就是为什么我没有提供(我自己的)全部最终结果。如果您自己开发(从其他地方获得一些提示和提示),您将能够不断地适应和改进它,这就是Vim的全部内容!