Python 可以用jedi vim插入导入语句吗?

Python 可以用jedi vim插入导入语句吗?,python,vim,jedi-vim,Python,Vim,Jedi Vim,我刚刚开始研究Vim绝地插件,它看起来非常令人印象深刻。我使用的一些JavaIDE的一个特性是能够自动添加所需的导入。绝地武士能做到吗?例如,如果我输入一行,如 arg1 = sys.argv[1] 然后调用一些Jedi命令,插件是否可以在源文件的顶部自动插入一行导入sys(如果尚未导入sys) 我看过绝地武士的帮助,没有看到类似的东西——但我可能错过了什么。或者,是否有另一个Vim插件可以做到这一点?(需要对Python语法有一定程度的理解才能正确使用它,这就是为什么我希望Jedi能够做到这

我刚刚开始研究Vim绝地插件,它看起来非常令人印象深刻。我使用的一些JavaIDE的一个特性是能够自动添加所需的导入。绝地武士能做到吗?例如,如果我输入一行,如

arg1 = sys.argv[1]
然后调用一些Jedi命令,插件是否可以在源文件的顶部自动插入一行导入sys(如果尚未导入sys)


我看过绝地武士的帮助,没有看到类似的东西——但我可能错过了什么。或者,是否有另一个Vim插件可以做到这一点?(需要对Python语法有一定程度的理解才能正确使用它,这就是为什么我希望Jedi能够做到这一点)。

目前Jedi不进行重构。这包括进口增加。整个主题都有一个问题:


要以良好的性能实现此命令并不容易。不过,我们非常感谢您的帮助。:)

首先,我定义了一个通用导入功能,可以在中按需使用。我从我的C&C++套件和我的应用程序中使用它

到目前为止,我没有解析任何东西来添加缺少的import/include语句。正如戴夫所说,这一部分会很复杂。相反,我的代码片段知道哪些文件需要导入/包含,如果尚未导入/包含,则导入/包含它们

这远非完美,但这只是一个开始。mu模板提供了一个钩子,在代码段展开后,可以在文件的开头做一些事情,这就是我调用lh dev函数的地方。如果其他代码段引擎提供类似的钩子,您应该能够从代码段调用

这里是Python的概念验证代码段(我很少用Python编程,也没有太多代码段):