使用集成了cscope的Vim,我可以使用ctrl-T返回,并使用: tag查看当前的标记堆栈位置。但是我如何在堆栈中前进呢?我能从手册页中找到的唯一内容是转到函数定义(如ctrl-])
发布于 2013-07-22 18:48:57
标签堆栈是由你所有的“跳转到定义”创建的。每次执行<C-]>
操作时,您跳转到的标记都会添加到标记堆栈中,您可以使用<C-t>
或:pop
跳回到标记堆栈中的前一个标记,或者使用:tag
跳回到标记堆栈中的前一个标记。:tag
和:pop
都采用可选计数,因此:5pop
将转到前面的第五个标记。
参见:help tagstack
。
发布于 2017-08-27 01:22:17
之所以添加这个答案,是因为我没有对接受的答案进行编辑或注释的代表,但<C-t>
实际上对应于:pop
命令,而不是前面所说的:tag
命令。
:pop
用于在标记堆栈中向后移动(将导致‘在标记堆栈底部’消息),并且是带有缺省键绑定<C-t>
的命令
:tag
用于在标签栈中“向前”移动(将产生“在标签栈顶”的消息)。
我不知道有任何类似于:tag的键绑定用于向后移动,所以我将其映射(不)到tag。
nnoremap <C-[> :tag<CR>
https://stackoverflow.com/questions/17783539
复制