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

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

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

我注意到在标签列表插件(我也使用)有一个条目说

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

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

有没有 vim 大神可以指点一下?谢谢!

答案1

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

:nmap <c-]> :tab tag <c-r><c-w><cr>

<c-r><c-w>将抓取光标下的单词并按<cr>最后的回车键来运行该命令。

编辑:哦不,我重读了这个问题。这将打开一个新的每次都要标签,这很糟糕!!

根据标签列表帮助页面:

下表列出了 taglist 窗口中可以使用的按键的描述。

t 在新标签页中跳转到标签。如果文件已在标签页中打开,则转到该标签页。

确实,按下t标记列表窗格可以实现这一点,但这意味着您必须已经在标记列表窗格中看到该标记。这也有点蹩脚......

相关内容