如何在vim中使用不同的标题和标题标题

Bir*_*die 1 vim terminal tabs header title

截至目前,我已将以下内容放在我的.vimrc文件中,以便在终端的屏幕标题中显示当前打开文件的名称:

autocmd BufEnter * let &titlestring = expand("%:@")
set title
Run Code Online (Sandbox Code Playgroud)

是否也可以设置特定的标题标题?也就是说,当我在Mac上的终端中打开了许多vim选项卡时,当我选择了与文件相关的选项卡时,我会终端在终端头中显示目录路径,我想只显示该名称文件在标签的标题中.

Ken*_*ent 6

对您的目标提出一些意见

就个人而言,我很难在vim中使用标签.您可以通过设置一些选项来实现您想要的.在我谈论选项之前,我会说你想做的事情可能不方便.因为在vim中,tab是一组窗口,这意味着它可以有分割的窗口,在标签页中,你可以显示多个缓冲区.也就是说,在标签页中,它并不总是显示一个文件.当您在标签页中从拆分切换为拆分时,您的终端标题标签标签都可能会发生变化.

例如,您/one /two and /three的vim中有3个目录和两个标签页.

现在你有:

tab1:
/one/file1

tab2 (in split-windows):
/one/file1
/two/file1
/three/file1
Run Code Online (Sandbox Code Playgroud)

当你在tab1,你的终端标题是/one,tab1标签将是file1,很好.但是当你在tab2中时,你的终端标题会随着你从分割切换到分割而改变.在此示例中,选项卡标签将相同file1,因此您必须检查终端窗口选项卡标签以了解您当前正在编辑的缓冲区/文件.我不认为这很方便.

回答你的问题

好的,如果您希望这样做,:h setting-tabline并查看帮助文本中的示例,它将显示如何设置选项卡的标签.这应该达到你在终端vim的目标.

仅供参考,要获得您可以使用的父目录名称%:p:h.要获得唯一的文件名,您可以使用%:p:t.

另外,您可能还想检查一些其他事项:

  • 还有另一个自动命令事件:TabEnter.
  • :h setting-tabline 如果您希望tabline显示一些复杂的文本或其他突出显示
  • 如果你想进一步使用文件名/目录名,你可以检查:h expand():h filename-modifiers

  • 那么这不是vim的任务.@ user2898925如果您已找到命令如何更改vim外部终端中的(终端)选项卡标签.在vim中,您可以调用该命令来执行更改.请查看您的终端程序的帮助.顺便说一句,如果你的意思是终端标签,怎么会打开一些vim标签?如果您指的标签是终端标签,为什么打开这么多vim实例呢?您可以在一个vim实例中打开许多文件,这使编辑更容易.例如,在文件之间复制/粘贴等 (2认同)