加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在vim和python virtualenv中带有taglist的ctags

发布时间:2020-12-15 21:04:57 所属栏目:安全 来源:网络整理
导读:我在我的项目中使用virtualenv和 django,我正在尝试找到一种更有效的方式来浏览django源代码. 正如在此建议的那样 – Tools to help developers reading class hierarchy faster – 我通过ctags设置了自己 sudo port -v install ctags 并通过https://github.
我在我的项目中使用virtualenv和 django,我正在尝试找到一种更有效的方式来浏览django源代码.

正如在此建议的那样 – Tools to help developers reading class hierarchy faster – 我通过ctags设置了自己

sudo port -v install ctags

并通过https://github.com/vim-scripts/taglist.vim安装了vim插件标签列表

不幸的是,当我尝试通过Ctrl“跳转”来查看课程时,似乎ctags无法找到我的django课程.

有什么建议我如何获取ctags来读取位于我的virtualenv中的python源代码?

更新

通过进一步的实验,我意识到ctags是某种“索引”程序,它解析给定的目录/ files / file并抓取它找到的所有关键字(类名,方法名,函数名等)并将其写入文件.这个文件可以更新,vim插件taglist基本上从它读取,以便知道当我对类/方法/函数名称执行Ctrlt时将我发送到的位置.

所以我提出了一个临时和手动的解决方案,我在我的vim中执行,如下所示: –

:set tags=~/mytags
:! ctags -R -o ~/mytags ~/.virtualenvs/myprojectname

第一个命令告诉我的vim / taglist我的“索引”结果存储在哪里.

第二个命令通过递归(-R)向下搜索?/ .virtualenvs / myprojectname将索引结果写入?/ mytags文件

这是有效的,但如果我碰巧在不同的virtualenv环境中,这是一种非常手动的方式来维护标签和标签.

有谁知道管理这个ctags流程的自动化方法?

解决方法

There are many “automatic tags generation” plugins available.

TagList不会从您手动/自动生成的任何标记中读取:它正在调用ctags本身并直接读取其输出.

您也可以阅读:help autocmmand.您可以设置自动命令以在写入时重新生成标记,如下所示:

autocmd BufWritePost,FileWritePost *.py :silent! !ctags -R -o ~/mytags ~/.virtualenvs/myprojectname

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读