Warm tip: This article is reproduced from serverfault.com, please click
vim

其他-VIM:仅在两个文件具有相同名称的情况下,如何在选项卡中显示文件夹名称

(其他 - VIM: how to show folder name in tab, but only if two files have the same name)

发布于 2013-04-29 11:11:27

我想在VIM(尤其是GVIM)中具有以下功能。我认为Sublime Text具有这样的功能:

  1. 在“普通”情况下,选项卡名称应该只是文件名,但是...
  2. 如果打开的两个文件具有相同的名称,但位于不同的目录中,则我想查看选项卡名称父文件夹名称+文件名。

例子:

当存在以下文件的选项卡时:

  • c:\ my \ dir \ with \ files \ justAfile.txt
  • c:\ my \ dir \ with \ files \ myfile.txt
  • c:\ my \ dir \ with \ backup \ myfile.txt

选项卡名称将是:

justAfile.txt | files\myfile.txt | backup\myfile.txt 

这可以通过一些巧妙的配置来实现吗?

Questioner
Piotr Kochański
Viewed
11
Ingo Karkat 2013-04-29 19:35:36

在GVIM中,你可以使用选项来自定义标签标签'guitablabel'

在终端Vim中;没有对'guitablabel'等的东西;一个必须渲染整个'tabline'幸运的是,Vim帮助提供了一个示例,该示例将标签渲染委托给一个单独的函数,因此,重新使用自定义函数非常容易。

所提到的选项的帮助页面链接到示例。你可能必须用于fnamemodify()将所有缓冲区的路径规范化为完整的绝对路径,找到公用的基本目录,然后将其删除。

另一方面,如果你可以:cd进入基本目录,则可以立即使用这种选项卡标签。