用于自动生成Python导入语句的Vim插件(不使用Rope)

用于自动生成Python导入语句的Vim插件(不使用Rope),python,vim,vim-plugin,rope,Python,Vim,Vim Plugin,Rope,我以前也见过类似的问题,但是他们已经4岁了,没有给出符合我要求的答案 如果我在Vim中键入Python代码,例如: os.path.join('my', 'path') resp = requests.get('http://example.com') HttpResponse('success') 假设我的site packages文件夹中有第三方模块'requests'和'django',是否有Vim插件(不使用Rope库)可以自动将相关的导入语句添加到Python文件中(对于内置模块和第

我以前也见过类似的问题,但是他们已经4岁了,没有给出符合我要求的答案

如果我在Vim中键入Python代码,例如:

os.path.join('my', 'path')
resp = requests.get('http://example.com')
HttpResponse('success')
假设我的site packages文件夹中有第三方模块'requests'和'django',是否有Vim插件(不使用Rope库)可以自动将相关的导入语句添加到Python文件中(对于内置模块和第三方模块,根据需要使用
import
from
),例如:

import os
import requests
from django.http import HttpResponse
虽然传统上我会使用久负盛名的Rope包,但为了避免.Rope项目文件夹的开销,我一直在用现代的替代品替换Rope功能。但是,我还没有找到Vim自动导入的替代方案。

看看。从它的描述来看,它符合你的要求


请注意,它需要。

我使用的是python-imports.vim()。结合gutentags插件,它几乎是完美的。完美的解决方案将创建所有导入并神奇地猜测正确的模块,以防名称冲突,但我怀疑这是可能的。

我本周一直在尝试让vimpy工作,但它会产生错误。我在GitHub上提交了一份bug报告,但维护人员似乎不再积极维护该项目。上一次是在一年前。你成功地使用了这个项目吗?我从来没有觉得有必要,所以我没有试过。好的。无论如何,谢谢你的引导。绳子怎么了?它又在维护中,一个
echo.ropeproject/>.git/info/exclude
可以解决您的所有问题,不是吗?我注意到的其他一些注意事项是,它将添加从子模块导入的内容,即使从父模块导入,也不会在一行上组合来自同一模块的多个导入内容,但总的来说,这个插件很好地完成了这个任务。很好的发现。使用isort fixer和ale(推荐)或isort插件组合多个导入。报告第一个问题的bug(或者甚至修复它)。