vim结合ctags
在编程过程中,函数转跳(从函数会话快速跳到函数定义或相反)是常用功能,vim可以结合 ctags 工具实现
备注
另一个常用的程序转跳工具是 cscope ,更适合大型项目使用,能够为C,lex 和 yacc 源代码文件构建一个符号交叉引用表(symbol cross-reference table)。请参考 nvim环境使用escpe实现代码导航
安装
在 macOS 上使用 Homebrew 安装(其实 XCode command line tools 也提供
ctags但是使用参数和我们常用的Linux环境ctags不同):
在 Ubuntu Linux 上可以安装
universal-ctags(相对较新,建议安装) 或exuberant-ctags
安装
universal-ctagsapt install universal-ctags
使用
在源代码项目目录下执行递归生成 tags :
在源代码项目目录下执行
ctags 创建包含索引的名为 tags 文件ctags -R .
现在打开 vim 或 nvim ,可以使用如下快捷键进行函数转跳:
ctrl + ]从 函数实例和类型 跳到函数定义的位置ctrl + T/ctrl + o从 函数定义 重新返回函数实例结合
ctrl + W和ctrl + ]可以开启一个新窗口跳到函数定义位置(此时vim窗口会划分为2个窗口)结合
ctrl + W和ctrl + 方向键在上述两个窗口间来回跳
备注
ctrl+方向键 在macOS中默认是 Mission Control 快捷键,有冲突,需要修改 System Settings >> Keyboard >> Keyboard Shutcuts...