代码改变世界

Vim的tag系统

2016-01-22 14:41  cascle  阅读(787)  评论(0编辑  收藏  举报

tag标识符存储在ctags等程序生成的文件里

:tag和<C-]>命令跳转到光标所在符号(若光标不再符号上则为右边第一个符号)的定义处

还有g+鼠标左键和<C-鼠标左键>

 

<C-t>,g+鼠标右键,<C-鼠标右键>可以跳转到上一个项目

 

:[count]ta[g][!] {ident}:count指的是第几个匹配的标识符,叹号说明

 

:tags显示当前的tag stack,>符号表明下一个要跳到的

 

:[count]pop跳到较早的项目(栈底)

:[count]tag跳到下一个项目(栈顶)

 

<C-o>是跳到上一个jumplist里的位置

 

要是有多个标签匹配的话,ctags不会自动提示选择哪个,要用:tselect列出,:stselect则会弹出个分割窗口来提示(这点糟糕透顶)

 

:tn到下一个匹配项,:tp到上一个匹配项

 

g]可以使用:ts命令

 

:tlast和:tfirst分别跳转到最后一个和第一个标签

 

:tjump若有多个匹配,则显示匹配窗口,否则直接就去该定义处