如何在vim中使用tab进行python代码补全

jopen 9年前

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 键即可激活自动补全菜单。