vim: 文件和tag间跳转

vim可以在tags之间跳转,适用于函数查看,定义跳转等场景。

有强大的工具可以生成vim需要的tags, 比如ctags。

//ctags生成c++ tags列表

以下设置可以加载tags所在路径。

:set tags+=/data/workplace/example/tags

查看tags路径

:set tags?

常见tag跳转操作:

:h tags   帮助文件

gf        跳转到指定文件,比如头文件
C-w f。 split窗口中打开光标处文件.

//tag跳转
C-o  jump to last (older) cursor position            //跳转到上一光标, O代表Out
C-i  jump to next cursor position (after Ctrl-O)     //跳转到下一光标, I代表In

//
C-]              跳转到第一个tag。
C-w ]     用split方式打开tag

:ts [name]      列举所有与名称相关的tag, 选择跳往哪一个tag,以tag名字为参数,如果没有tag名字,则使用上一次使用的tag名字
:tn             继续跳往下一个tag, 同一个名称可能会由很多tag,如果不是满意的,继续跳转 
:tp             继续跳转前一个tag
:tj             和ts一样,如果只有一个tag,则直接跳转

g]              列出当前光标下的所有相关定义列表。和ts一样
//以下两个不太准确
gd              查看当前光标下的local declaration.
gD              查看当前光标下的global declaration

//和ts类似
[I               列出头文件中的所有定义
[i               列出头文件中的第一个定义
[n][<Tab>          跳转到第几个定义

当尝试使用上面的命令进行tag跳转的时候,tag会被压入tag栈,查看tag堆栈:

:tags

其中>符号指向的,就是当前tag

在tag堆栈种跳转的方法:

[n]C-t或者:[n]pop 。在当前指向tag,往前跳转n个

:[n]tag 。在当前指向tag基础上,往后跳转n个


《 “vim: 文件和tag间跳转” 》 有 3 条评论

  1. augmentin diverticulitis There are many safe and effective tick prevention choices out there, including topical and oral products, or collars

  2. can you buy priligy over the counter I ve paid close attention to friends women my age

  3. priligy tablets price This equates to 10 15kg or 22 33lbs per day for a 500kg weight racehorse

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

About Me

一位程序员,会弹吉他,喜欢读诗。
有一颗感恩的心,一位美丽的妻子,两个可爱的女儿
mail: geraldlee0825@gmail.com
github: https://github.com/lisuxiaoqi
medium: https://medium.com/@geraldlee0825