让 VIM 跳转到现有选项卡中的 ctag

Adr*_*scu 6 vim ctags

我的 vim 安装配置了 ctags。我的习惯是通常在 vim 的选项卡中一次性打开我正在处理的所有相关文件。“问题”是,如果我使用 Ctrl+] 跳转到我正在编辑的文件中的 ctag,它将替换该选项卡中的缓冲区,即使我已经打开了另一个包含该符号的选项卡。如果它只是切换到该选项卡并跳转到那里的符号会好得多。这样,我将始终拥有 1 比 1 的选项卡与文件的比率。

我注意到在taglist.vim插件(我也使用)的Changenotes 中有一个条目说

1. 添加了对跳转到新标签或现有标签中的标签/文件的支持 
   从 taglist 窗口(仅适用于 Vim7 及更高版本)。 

但是,我在 Taglist(或 Ctags)的文档中找不到关于如何实际执行此操作的任何内容。

任何vim大师可以填写我吗?谢谢!

ric*_*chq 2

您可以使用 来执行此操作:tab tag NAME_OF_TAG,但它不会映射到任何内容。您可以<Ctrl-]>在 .vimrc 文件中重新映射以执行此操作,如下所示:

:nmap <c-]> :tab tag <c-r><c-w><cr>
Run Code Online (Sandbox Code Playgroud)

<c-r><c-w>将抓取光标下的单词,并且<cr>是运行命令的最终输入/回车符。

编辑:哦不,我重新阅读了这个问题。这每次都会打开一个新选项卡,这很糟糕!

根据 taglist 帮助页面:

下表列出了标签列表窗口中可以使用的按键的说明。

t 跳转到新选项卡中的标签。如果文件已在选项卡中打开,请移至该选项卡。

事实上,按t标签列表窗格可以做到这一点,但这意味着您必须已经在标签列表窗格中看到该标签。而且这也有点蹩脚...