vim中的标签导航
使用cscope集成的Vim,我可以使用ctrl-T导航回来,并使用:tags查看当前标记堆栈的位置。但我如何在堆栈中前进?从手册页中我唯一能找到的就是转到函数定义(如ctrl-])您还可以使用ctrl+I和ctrl+O分别在跳转列表中向前和向后移动。这适用于标记命令,因为它们计为跳跃运动 因此:vim中的标签导航,vim,ctags,cscope,exuberant-ctags,Vim,Ctags,Cscope,Exuberant Ctags,使用cscope集成的Vim,我可以使用ctrl-T导航回来,并使用:tags查看当前标记堆栈的位置。但我如何在堆栈中前进?从手册页中我唯一能找到的就是转到函数定义(如ctrl-])您还可以使用ctrl+I和ctrl+O分别在跳转列表中向前和向后移动。这适用于标记命令,因为它们计为跳跃运动 因此: 跳转到标记:Ctrl+] 跳回:Ctrl+O 再次跳转到标记:Ctrl+I 标记堆栈由所有“跳转到定义”创建。每次执行,跳转到的标记都会添加到标记堆栈中,您可以使用或:pop跳回标记堆栈中的上一个标
- 跳转到标记:Ctrl+]
- 跳回:Ctrl+O
- 再次跳转到标记:Ctrl+I
,跳转到的标记都会添加到标记堆栈中,您可以使用
或:pop
跳回标记堆栈中的上一个标记,或使用:tag
跳转到另一个方向。:tag
和:pop
都进行可选计数,因此:5pop
将转到上一个标记的第五个
请参见
:help tagstack
仅添加此答案,因为我没有代表对接受的答案进行编辑或评论,但
实际上对应于:pop
命令,而不是前面所述的:tag
命令
:pop
用于在标记堆栈中“向后”移动(将产生“在标记堆栈底部”消息),并且是具有默认键绑定的命令
:tag
用于在标记堆栈中“向前”移动(将产生“位于标记堆栈顶部”消息)
我不知道:tag有任何键绑定,比如向后移动,所以我已经映射(没有)到tag
nnoremap:tag
在跳转列表中工作(标记列表作为副作用)。但它们并不是完全的标签导航。@Kent我并没有把CTAG当作垃圾。我正在使用CTAG。所以:ta不是wirkingI,我已经编辑了接受的答案。真没想到它被留下这么久!