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 前
按 Tab 後
--------------------------------------分割線 --------------------------------------
把VIM打造成一個簡單實用的IDE http://www.linuxidc.com/Linux/2011-06/37032.htm
Vim學習指南 http://www.linuxidc.com/Linux/2013-08/89096.htm
快速學會 Vi編輯器 http://www.linuxidc.com/Linux/2013-08/88586.htm
強大的Vim 編輯器 http://www.linuxidc.com/Linux/2013-07/87544.htm
在CentOS 6.2上搭建Vim開發環境 http://www.linuxidc.com/Linux/2013-07/87363.htm
CentOS 5.4 安裝高亮Vim編輯工具 http://www.linuxidc.com/Linux/2013-06/86508.htm
Vim技巧分享:C語言設置 http://www.linuxidc.com/Linux/2012-12/77124.htm
Ubuntu中設置Vim的行號 http://www.linuxidc.com/Linux/2012-12/75485.htm
Vim編輯器使用基礎教程 http://www.linuxidc.com/Linux/2013-05/84031.htm
--------------------------------------分割線 --------------------------------------