假设我在 Vim 中打开了一堆标签,其中的标签行看起来像这样:
1 v/file1.py 2 t/file.py 1 t/file.py 1 o/otherfile.py
看到两个标签都写着“t/file.py”了吗?它们是不同的文件,只是变成了相同的标签。
在我的工作流程中,标签标题经常含糊不清(Chef 命名一切default.rb”)或无帮助(“我知道这 8 个选项卡中的一个有 4 个缓冲区,每个缓冲区都有我正在寻找的文件……”)。
我想重命名这些标签来表明它们所代表的逻辑含义:
1 homepage_view 2 tests 1 homepage_template 1 o/otherfile.py
我同意将标签默认为基于文件名的标签,只要我可以在创建标签后随意更改它。
我如何在 Vim 中做到这一点?
答案1
有一个很棒的小插件叫忌讳这让一切变得简单。只需安装它,然后您就可以使用以下命令更改选项卡标题:
:TabooRename My Tab Title
如果您有兴趣编写自己的解决方案,可以查看该插件的源代码。
答案2
对于 gvim,请参阅
:help 'guitablabel'
:help setting-guitablabel
如果选项存在,则将其设置为计算结果为(制表符局部变量)的表达式t:mytablabel
,否则设置为空字符串(意味着使用默认值):
:set guitablabel=%{exists('t:mytablabel')?t:mytablabel\ :''}
也许这已经太复杂了,或者你想变得更复杂。在这种情况下,定义一个函数:
function! GuiTabLabel()
return exists('t:mytablabel') ? t:mytablabel : ''
endfunction
:set guitablabel=%{GuiTabLabel()}
:set go+=e
然后,在您想要覆盖默认设置的任何选项卡中,执行以下操作
:let t:mytablabel = 'homepage_template'
如果您在终端中使用 vim,而不是 gvim,则必须设置选项'tabline'
而不是'guitablable'
。这有点复杂,因为您需要一个包含所有打开的选项卡的标签的表达式。下面有一个完整的示例
:help setting-tabline