Python 使用vim、ctags和其他工具检查源代码
关于如何使用vim/ctags浏览源代码,有很多信息,比如跳转到标记、导航标记堆栈、搜索标记匹配等 然而,我找不到关于如何实际检查源代码及其结构的信息,类似于某些IDE中的“源代码浏览器”工具 下面是我希望能够使用vim处理Python源代码的内容,尽管对于其他一些语言也可能同样如此:Python 使用vim、ctags和其他工具检查源代码,python,vim,ctags,Python,Vim,Ctags,关于如何使用vim/ctags浏览源代码,有很多信息,比如跳转到标记、导航标记堆栈、搜索标记匹配等 然而,我找不到关于如何实际检查源代码及其结构的信息,类似于某些IDE中的“源代码浏览器”工具 下面是我希望能够使用vim处理Python源代码的内容,尽管对于其他一些语言也可能同样如此: 列出当前文件(模块)的所有成员,即模块中定义的顶级类、函数和/或变量 列出给定类的所有方法和属性 跳转到给定类中的成员,例如:tag ClassName.my_method 列出包成员/层次结构 您想要的部分(至
:tag ClassName.my_method
您想要的部分(至少是“列表”部分)可以使用或完成,但我担心您将Vim与IDE混淆了。您看过Rope吗 特征 Rope重构:
- 重命名任何东西李>
- 提取方法/局部变量
- 移动类/函数/模块/包/方法
- 内联方法/局部变量/参数
- 重组(如将“${a}.f(${b})”转换为“${b}.g(${a})”,其中“a:type=mymod.a”)
- 介绍工厂
- 更改方法签名
- 将模块转换为包
- 封装字段
- 用方法对象替换方法
- 还有一些其他的
- 在提取重构中提取类似语句
- 在需要时修复导入
- 预览重构
- 撤消/重做重构
- 中断重构
- 执行跨项目重构
- 在重命名和更改签名中处理基本隐式接口
- 在重构中支持Mercurial、GIT、DARC和SVN
- 自动完成
- 查找定义位置
- 获取pydoc
- 查找事件
- 组织导入(删除未使用和重复的导入并对其进行排序)
- 生成python元素
为什么你认为我把vim和IDE混淆了?我可以看到,标签文件提供了足够的信息,使一些检查和导航不熟悉代码的常见任务变得更容易。但与IDE中信息的准确性相比,这并没有多大帮助。Vim不能处理作用域,例如,如果标签不完全是
Class.method
,它就不能让你跳转到Class.method
,等等……我认为你把Vim和IDE混淆了,因为你似乎期望它具有类似IDE的功能。什么是IDE,但一个有足够插件的编辑器呢?Rope太棒了。。但它是否支持以树状结构查看函数/模块等,如gutentags/tagbar
does?