Vim 中的固定标签?

Vim 中的固定标签?

有没有办法做类似于用 Vim 标签固定浏览器标签的事情?即:

  • 左侧固定位置
  • 最小化其尺寸
  • 防止被关闭

答案1

不,没有,但是你可以创建一些类似的东西。

为了最忠实地重现 Web 浏览器的固定标签行为,您必须使用自定义gt映射:tabnext和自定义命令(可能使用cmdalias.vim - 为 Vim 命令创建别名以覆盖小写的原始 Ex 命令)。但这相当复杂,并且仍然无法涵盖我使用其他映射或插件所做的任何制表符修改。

或者,您可以定期(例如,切换窗口时)记录所有选项卡的布局(即它们包含哪些缓冲区),并使用它来轻松恢复意外关闭的选项卡(如果这是您主要关心的问题)。毕竟,在关闭选项卡后,缓冲区在 Vim 中仍然可用。

概括

虽然 Vim 中没有简单易用的对应功能,但如果你深入分析你真正的底层用例,就可以找到解决方案。请注意,在许多 Vim 用户看来,不建议大量使用标签。我个人一次只使用几个标签来在一个 Vim 实例中分隔不同的项目/工作区。

答案2

您可以使用自定义'tabline'设置来设置任何选项卡标签的大小/内容。这样您就可以最小化尺寸。

Vim 本身并不会真正移动标签,因此只需:tabmove 0将其放在左侧即可。如果您愿意,TabEnter可以在自动命令中检查标签右侧是否有特殊标签,如果此标签不是特殊标签,则将其向右移动,直到没有其他特殊标签。使用 at: 范围变量标记特殊标签,例如:let t:pinned=1

我认为没有办法阻止它被关闭,但是你可以使用诸如:tabdo if !exists('t:pinned') | tabclose | endif关闭所有未固定的标签之类的命令。

相关内容