pydiction可以让vim自动补全Python代码,无论是关键字,标准库还是第三方库。它主要包含3个文件:
python_pydiction.vim: vim插件文件。
complete-dict: 一个字典文件,包含了Python的关键字和模块。插件引用的内容即来自于此。
pydiction.py: 一个py脚本,运行此文件可以增加新的模块到complete-dict字典中。
Linux/Unix系统:将python_pydiction.vim文件复制到 ~/.vim/after/ftplugin 目录下。如果该目录不存在,则创建它,vim会自动在此目录下搜索。
$ cp after/ftplugin/python_pydiction.vim ~/.vim/after/ftplugin
$ cp complete-dict ~/.vim
$ cp pydiction.py ~/.vim
2、编辑~/.vimrc文件,如果不存在则创建。添加以下内容:
let Tlist_Auto_Highlight_Tag=1
let Tlist_Auto_Open=1
let Tlist_Auto_Update=1
let Tlist_Display_Tag_Scope=1
let Tlist_Exit_OnlyWindow=1
let Tlist_Enable_Dold_Column=1
let Tlist_File_Fold_Auto_Close=1
let Tlist_Show_One_File=1
let Tlist_Use_Right_Window=1
let Tlist_Use_SingleClick=1
nnoremap <silent> <F8> :TlistToggle<CR>
filetype plugin on
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType Javascrīpt set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType c set omnifunc=ccomplete#Complete
let g:pydiction_location='~/.vim/complete-dict'
set autoindent
set tabstop=4
set shiftwidth=4
set expandtab
set number
3、在~/.vimrc中加入下面两行设置,实现离开补全弹窗或者离开插入模式时自动关闭scratch preview。
autocmd InsertLeave * if pumvisible() == 0|pclose|endif
autocmd CursorMovedI * if pumvisible() == 0|pclose|endif
备注: ctrl x,ctrl o打开代码补齐,ctrl e关闭补齐,ctrl y 选择当前的补齐代码,并关闭。
推荐阅读:
《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码]
Python脚本获取Linux系统信息
在CentOS 6.2上搭建Vim开发环境