我正在使用gvim编辑器。我在gvim中使用多个选项卡来打开多个文件。我在代码区域中设置了ctags。我使用“ ctrl]”跳转到一个选项卡中的函数调用定义,然后使用“ ctrl t”返回该函数调用。现在,如果我再次在此选项卡中键入“ ctrl t”,则它不会执行任何操作。但是在另一个选项卡中,如果我误输入了'ctrl t',那么该选项卡也会跳转到该函数调用。因为在第二个选项卡中我没有使用'ctrl]',所以我希望'ctrl t'也不会做任何事情,但是它没有按预期工作。我希望'ctrl]'和'ctrl t'工作在制表符基础上。那是一个选项卡不应影响另一选项卡。您能告诉我如何解决此问题吗?我的gvim版本是8.0.69。
我在google中搜索了此问题,但未在任何网站的任何地方发现此问题。
答案 0 :(得分:2)
Ctrl + t 的行为由tag-stack
的内容决定。
您可以设置autocommands
以在离开标签页时保存当前标签栈,并在输入的标签页上进行还原(或清除)。您可以查看以下文档以了解如何实现它:
:help TabLeave
和:help gettagstack()
:help TabEnter
,:help TabNew
和:help settagstack()
请注意,用于操作标签栈内容的函数是基于窗口的,因此仅当每个选项卡页面使用单个窗口时,此方法才有效。否则,您将不得不改用进入和离开窗口的方法::help WinEnter
,:help WinLeave
和:help WinNew
。