python有没有等同于粘液的东西?
例如,如果我将光标放在foo()上并执行M-。(跳到定义)我想看看函数foo的源代码定义
无论foo是否在
1)本地工程目录
2)在某些~/.virtualenvs/bar/lib/site-package中
3)在其他一些python路径中
4)虚拟环境正在使用中(即,它应该在我当前的虚拟环境中查找)
pymacs/ropemacs组合可以做到这一点吗?
发布于 2010-08-17 22:45:48
要避免查找,您可以使用etags,并使用-e递归添加py文件:
find . -type f -name '*.py' | xargs etags
发布于 2015-09-14 19:49:05
这里提到的大多数答案都是过时的。一个简单的解决方案是将elpy用于M-.
而不使用etags(这需要额外的工作)。
M-x package-install elpy
,然后安装python包。
$ sudo pip install rope jedi
重新启动emacs,打开任何python文件并运行M-.
Elpy是完整的文档,你可以阅读about M-.
here。
发布于 2010-08-17 19:38:45
M-。通常运行"find-tag
“函数。您应该为您的python源文件创建一个标记文件。然后你在做M-之前先"visit-tags-table
“。这样,Emacs将跳转到标记的所有定义。键入C-u M-。跳过标签的下一个定义。有关帮助,请参阅find-tag文档。参考Emacs帮助,了解如何从python源文件创建标记文件。
例如,您可以使用Exuberant Ctags创建标记文件。
转到python文件的根目录并执行以下操作:
ctags -e -R .
标签文件通常在项目的根目录下创建。
https://stackoverflow.com/questions/3501040
复制相似问题