Vim已 经映射了几个用于标签之间跳转的快捷键,我们可以使用这些快捷键在标签之间来回跳转。
Ctrl-] 跳转到当前光标所在的标签;
Ctrl-O 返回到跳转前的位置;
Ctrl-T 沿着经过的标签列表向回跳转,也可以在其前面输入一个数字,如N-Ctrl-T会向回跳转N步,相当于按了N下Ctrl-T;
:tags 显示所有经过的标签列表;
当我们 不想输入完整的标签时,可以只输入要找标签的前几个字符,然后按<Tab>键自动补全 :
:tag prefix_<Tab>
默认会 得到第一个匹配,如果它不是你想要的,可以重复按<Tab>键直到找到正确的匹配。
ctags支持模式匹配查找,当我们无法记清楚要找的标签,或只知道标签的一部分时,就可以使用模式匹配来搜索。
:tag /pattern
匹配指 定模式,按<Tab>后,vim会自动搜索包含pattern的标签,默认会得到第一个匹配,如果这不是你想要的,可以重复 按<Tab>键直到找到正确的匹配。
我们可 以使用有关查找模式匹配的所有特性,如只查找以foo开始的标签 :
:tag /^foo
:tselect /^foo
或只查 找以bar结尾的标签 :
:tag /bar$
:tselect /bar$
你同 样 可以用<Tab>逐个查看,也可以 直接按<Enter>, 让 vim给出匹配的标签列表,然后从中选择你想查找的标签 。
有时我 们可能不想跳转到指定标签,只是想查看或确认一下相关标签的定义,然后就返回。用Ctrl-]跳转然后再用Ctrl-O或Ctrl-T返回当然可以,但 vim提供了一种更简单的方式,那就是预览窗口。预览窗口就是把当前编辑窗口分割出一小部分,用来 显示 预览,活动光标依然会停留在编辑窗口,不会影响 编辑。
在预览 窗口里显示标签定义 :
:ptag <tag>
对于 ptag,前面所讲的模式匹配同样适用,可以使用 :
:pclose
关闭预 览窗口,而无论当前活动窗口是哪一个。
在预览 窗口中编辑指定文件 :
:pedit <filename>
查找当 前文件和任何包含文件中的单词并在预览窗口中显示匹配 :
:psearch <tag>