vim 多目录跳转的使用总结

工程内函数的跳转

只需要在工程目录顶层生成tags文件。当在子目录某文件内需要跳转时,vim 会逐级向上查找tags文件。

  • 在顶层目录生成tags文件
    ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .
  • vimrc 设置tags 搜索路径 。后面的’;'不能省略。
    set tags=tags;
    set autochdir
  • 用到的跳转命令
    跳转到函数定义:ctrl+]
    跳转后返回:ctrl+t

工程间函数的跳转

  • 假设有两个工程(A、B)的文件需要互相跳转。则需要分别在工程A、工程B顶层目录生成tags文件。
  • 将A、B工程的tag文件添加到tags搜索路径(下面介绍.lvimrc 插件,有更合理的配置)。
    set tags +=/prjADir/tags
    set tags +=/prjBDir/tags

为每个工程单独设置一个.vimrc 文件(.lvimrc)

设置autochdir 后,vim打开哪个文件,vim工作目录就设置为了当前文件所在的目录、这样方便了tags跳转,但是要查找其他目录的文件,就没办法直接跳转了。

vim 中gf、find 等命令,都依赖于path路径进行搜索和跳转。如果在path路径中搜索不到要跳转的问题,就没办法跳转。如果把每个工程的路径都添加到path 中,会导致要搜索的文件太多,影响效率。

解决利器: embear/vim-localvimrc 插件

  • vim-localvimrc 插件提供了自动加载当前工程.lvimrc 文件的机制。.lvimrc 只需要放在工程的顶层目录下,当vim打开该目录下的任何子文件时,插件都会自动向上查找加载.lvimrc 文件。
  • 插件基本配置
    关闭每次切换文件时的提问
    let g:localvimrc_ask=0
    使能插件
    let g:localvimrc_enable=1
  • 简单的.lvimrc 配置
    添加当前工程所有目录到path路径
    set path+=/prjADir/**
    假设要跳转到B工程的函数,添加B工程的tags文件链接
    set tags +=/prjBDir/tags
  • 会用到的一些命令
    查看当前path
    set path?
    显示版本及默认vimrc配置加载路径
    :version
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gdut_llkkyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值