使用 cscope 集成的 Vim,我可以使用 ctrl-T 导航回来并使用 :tags 查看当前标签堆栈位置。但是我如何在堆栈中前进?我可以从手册页中找到的唯一内容是转到函数定义(如 ctrl-])
问问题
12256 次
3 回答
22
您还可以使用Ctrl+I和Ctrl+O分别在跳转列表中向前和向后移动。这适用于标签命令,因为它们算作跳跃动作。
所以:
- 跳转到标签:Ctrl+ ]。
- 向后跳:Ctrl+ O。
- 再次跳转到标签:Ctrl+ I。
于 2013-07-22T09:08:37.427 回答
10
标签堆栈由您所有的“跳转到定义”创建。每次执行时<C-]>
,您跳转到的标签都会添加到标签堆栈中,您可以使用<C-t>
或:pop
跳转回标签堆栈中的前一个标签或:tag
以其他方式跳转。两者都:tag
取:pop
一个可选计数,因此:5pop
将转到前第五个标签。
见:help tagstack
。
于 2013-07-22T18:48:57.250 回答
5
只是添加这个答案,因为我没有代表编辑或评论接受的答案,但<C-t>
实际上对应于:pop
命令,而不是所述:tag
命令。
:pop
用于在标签堆栈中“向后”移动(将导致“在标签堆栈底部”消息)并且是具有默认键绑定的命令<C-t>
:tag
用于在标签堆栈中“向前”移动(将导致“在标签堆栈顶部”消息)。
我不知道 :tag 的任何键绑定(例如向后移动),所以我已将(不是)映射到标签。
nnoremap <C-[> :tag<CR>
于 2017-08-27T01:22:16.657 回答