![让 VIM 跳转到现有选项卡中的 ctag](https://linux22.com/image/1241666/%E8%AE%A9%20VIM%20%E8%B7%B3%E8%BD%AC%E5%88%B0%E7%8E%B0%E6%9C%89%E9%80%89%E9%A1%B9%E5%8D%A1%E4%B8%AD%E7%9A%84%20ctag.png)
我在 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
标记列表窗格可以实现这一点,但这意味着您必须已经在标记列表窗格中看到该标记。这也有点蹩脚......