Vim:更改特定选项卡的标签

Vim:更改特定选项卡的标签

假设我在 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

答案3

另一种快速破解方法无需安装任何东西。您可以像这样创建一个带有命名缓冲区的小窗口。

:1split Hello World

显示带有命名选项卡的终端的图像

警告 1:如果您希望显示名称,则在转到另一个选项卡之前必须选择小窗口。

注意事项 2:“:1split Name”不会显示选项卡名称,除非您打开了多个选项卡。

相关内容