红联Linux门户
Linux帮助

如何在Vim中使用tab进行Python代码补全

发布时间:2015-03-27 10:53:18来源:linux网站作者:linux人

Pydiction 允许你在 Vim 中实现 TAB 代码补全, 可以补全的内容包括:标准的、自定义的,以及第三方模块和包。外加关键字、BIFs,和字符串。
 
Pydiction 由 3 个主要文件构成:    
python_pydiction.vim -- 该文件为 Vim 的 plugin 文件,实现 Python 文件的 TAB 补全功能。
complete-dict -- 该文件为 Vim 的 dictionary 文件,其中包含 Python 关键字和模块结构等信息。是 plugin 进行补全时所查找的参考文件。
pydiction.py -- (可选)该文件是 Python script 文件,用于生成 dictionary 文件。可以通过执行该脚本添加更多的可 TAB 补全模块。


用法
在 Vim 中输入部分 Python 关键字、模块名、属性或方法名,然后按 Tab 键以弹出补全信息。
例如, 输入
os.p<Tab>
会弹出
os.pardir
os.path
os.pathconf(
os.pathconf_names
os.pathsep
os.pipe(
...

如果你发现在 TAB 完成菜单中得到的结果并不是你想要的,可能的一种原因是你没有设置 Vim 忽略大小写。可以通过 ":set noic" 方式进行设置。


【如何安装】
在 UNIX/LINUX 下,将 python_pydiction.vim 放入 ~/.vim/after/ftplugin/ ,若该目录不存在则手动创建,Vim 会自动去该目录下查找相关文件。不要把除 python_pydiction.vim 之外的其他文件放入该目录。

在你的 vimrc 文件中增加下面的字段来启用 ftplugins :  
filetype plugin on
之后确保设置 "g:pydiction_location" 指向你放置的 complete-dict 文件所在的全路径,例如      
let g:pydiction_location = 'C:/vim/vimfiles/ftplugin/pydiction/complete-dict'

网上有人做如下设置可以参考

# unzip pydiction-1.2.zip
# cp python_pydiction.vim /usr/share/vim/vim70/ftplugin
# mkdir /usr/share/vim/vim70/pydiction
# cp complete-dict pydiction.py /usr/share/vim/vim70/pydiction/
# vi ~/.vimrc
...
# 增加
let g:pydiction_location = '/usr/share/vim/vim70/pydiction/complete-dict'
let g:pydiction_menu_height = 20
...

打开 python 脚本文件,在编写 python 程序时,按 TAB 键即可激活自动补全菜单。


展示:

按 Tab 前
如何在Vim中使用tab进行Python代码补全

按 Tab 后
如何在Vim中使用tab进行Python代码补全

注:以上图片上传到红联Linux系统教程频道中。