如何为VIM配置Python from...import自动补全功能?求推荐相关插件
在Vim中配置Python导入补全功能
当然可以!Vim生态里有不少成熟的插件能帮你实现类似Atom的Python导入补全功能,下面给你详细说说常用的方案:
推荐插件1:CoC(Conquer of Completion)
这是一款轻量且功能强大的补全框架,配置灵活,对Python的支持非常友好:
- 安装步骤:
- 如果你用Vim-Plug管理插件,在
.vimrc中添加:Plug 'neoclide/coc.nvim', {'branch': 'release'} - 重启Vim后执行
:PlugInstall完成插件安装。 - 打开Vim,输入
:CocInstall coc-pyright安装Python语言服务(pyright是微软官方推出的,补全精度很高)。
- 如果你用Vim-Plug管理插件,在
- 配置补全:
你可以通过:CocConfig打开配置文件,确保以下选项开启:"python.analysis.autoImportCompletions": true - 使用体验:
输入from XXX import时,会自动弹出该模块下可导入的内容列表,用<C-n>(向下选)或<C-p>(向上选)切换选项,回车即可完成补全,跟Atom的体验几乎一致。我自己平时写Python就用这套组合,导入提示很准确。
推荐插件2:YouCompleteMe(YCM)
这是一款老牌的全能补全插件,性能强劲,对Python的支持也很成熟:
- 安装步骤:
- 用Vim-Plug的话,在
.vimrc添加:Plug 'ycm-core/YouCompleteMe' - 执行
:PlugInstall后,进入插件目录(一般是~/.vim/plugged/YouCompleteMe),运行:
(如果需要其他语言支持,可以换成python3 install.py --python-completer--all,但只装Python的话更轻量)
- 用Vim-Plug的话,在
- 使用体验:
YCM默认用Jedi作为Python补全引擎,无需额外配置就能支持from/import的补全。输入相关语句时,补全列表会自动弹出,操作跟CoC类似。不过YCM的体积和资源占用比CoC稍大一些,适合追求极致补全速度的用户。
额外补充(Neovim用户)
如果你用的是Neovim,可以直接用原生的LSP(语言服务器协议)配合pyright:
- 安装
pyright(可以用npm:npm install -g pyright) - 通过
nvim-lspconfig配置pyright,同样能实现精准的导入补全,而且完全基于原生功能,没有额外插件负担。
总的来说,CoC是最推荐的方案,配置简单、生态丰富,除了Python还能支持其他几十种语言的补全。
内容的提问来源于stack exchange,提问作者Tahseen
相关产品推荐
相关产品推荐

