Cal*_*eng 5 python vim ctags virtualenv taglist
在我的项目中使用virtualenv和django,我试图找到一种更有效的方式来浏览Django源代码。
正如这里所建议的- 帮助开发人员更快地阅读类层次结构的工具 -我通过以下方式使用ctags进行了设置
sudo port -v install ctags
并taglist通过https://github.com/vim-scripts/taglist.vim安装了vim插件
不幸的是,ctags当我尝试通过“跳转”查看类时,似乎无法找到我的django的类Ctrl+]。
有什么建议可以让我ctags阅读位于virtualenv中的python源代码吗?
更新
通过进一步的实验,我意识到这ctags是一种“索引”程序,它通过给定的目录/文件/文件进行解析,并捕获找到的所有关键字(类名,方法名,函数名等)并将其写入文件。该文件可以更新,并且vim插件taglist从中读取内容,以了解在对Ctrlt类/方法/函数名进行操作时将我发送到哪里。
因此,我想出了一个临时的手动解决方案,可以在vim中执行,如下所示:
:set tags=~/mytags
:! ctags -R -o ~/mytags ~/.virtualenvs/myprojectname
第一个命令告诉我的vim / taglist我的“索引”结果存储在哪里。
第二条命令~/mytags通过递归搜索(-R)将索引结果写入文件。~/.virtualenvs/myprojectname
这是可行的,但是如果我碰巧在另一个virtualenv环境中,这是维护标签和标签更改的非常手动的方法。
有人知道管理该ctags过程的自动化方法吗?
TagList 不会从tags您手动/自动生成的任何ctags内容中读取:它会调用自身并直接读取其输出。
您可能还想阅读:help autocommand. 您可以设置自动命令以重新生成您tags的写入内容,如下所示:
autocmd BufWritePost,FileWritePost *.py :silent! !ctags -R -o ~/mytags ~/.virtualenvs/myprojectname
| 归档时间: | 
 | 
| 查看次数: | 3462 次 | 
| 最近记录: |