配置 vim Python IDE 開發環境

在 Linux 下對 vim 進行一些配置,使之支持如下特性:

1. 加強的 Python 語法高亮顯示;

2. 對腳本、項目生成 ctag 序列;

3. 在 vim 中顯示 ctag 序列列表;

4. Python 函數、類的自動補全;

5. Python 代碼自動摺疊;

一、準備

本文以 CentOS 5.6 爲例對系統默認自帶的 vim 進行配置。在開始之前需要確認系統已經安裝了以下 RPM 包:vim-enhanced、ctags。

1. 配置 vim alias,使 vim 成爲默認的 vi 編輯器:

# echo alias vi=\'vim\' >> ~/.bashrc
# source ~/.bashrc

2. 複製默認的 .vimrc 初始化文件:

# cp /usr/share/vim/vim70/vimrc_example.vim  ~/.vimrc
# vi ~/.vimrc

可以添加一些配置:

1
2
3
4
5
6
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set autoindent
set number

這樣,我們就完成了對 vim 的一些前期準備。下面開始進行 vim Python IDE 環境的配置。

二、Python IDE 環境配置

1. 加強 Python 語法高亮顯示
下載增強的 Python 語法高亮腳本最新版本:http://www.vim.org/scripts/script.php?script_id=790 下載後得到 python.vim。

# mv /usr/share/vim/vim70/syntax/python.vim  /usr/share/vim/vim70/syntax/python.vim.ori
# cp python.vim  /usr/share/vim/vim70/syntax/

2. 對腳本/項目生成 ctag  序列
進入到 python 程序腳本(項目)所在的目錄,在該目錄下執行:

# ctag -R *

會在當前目錄下自動生成一個 ctags 文件,該文件記錄了程序/項目的函數、類等的分析序列記錄。有關 ctag 的詳細用法請閱讀 ctag 的 manpage。

3. 在 vim 中顯示 ctag 序列列表
下載 taglist 插件:http://www.vim.org/scripts/script.php?script_id=273 下載後得到 taglist_45.zip。

# unzip taglist_45.zip
解壓後得到兩個文件:plugin/taglist.vim(taglist 插件)、doc/taglist.txt(taglist 幫助文件)

# cp plugin/taglist.vim  /usr/share/vim/vim70/plugin/
# cp doc/taglist.txt  /usr/share/vim/vim70/doc/
# vi

啓動一個 vi 編輯器,並輸入以下命令:

1
2
:helptags  /usr/share/vim/vim70/doc    "生成 taglist 幫助文件列表
:help  taglist.txt    "查看 taglist 幫助信息

爲了更方便的使用 tablist,我們還可以在 vim 中做一些設置:

# vi ~/.vimrc

添加如下指令:

1
2
3
let Tlist_Show_One_File = 1            "不同時顯示多個文件的tag,只顯示當前文件的。
let Tlist_Exit_OnlyWindow = 1          "如果 taglist 窗口是最後一個窗口,則退出 vim。
let Tlist_Use_Right_Window = 1         "在右側窗口中顯示 taglist 窗口。

當編輯程序代碼文件時,可以在 vi 中輸入 :Tlist 來啓動 taglist 窗口。

下面是一些 .vimrc 中有關 taglist 的配置參數:

1
2
3
4
Tlist_Auto_Open=1    "在啓動 vim 後,自動打開 taglist 窗口。
Tlist_File_Fold_Auto_Close=1    "taglist 只顯示當前文件 tag,其它文件的tag摺疊。
Tlist_WinHeight & Tlist_WinWidth    "可以設置taglist窗口的高度和寬度。
Tlist_Use_Horiz_Window=1    "設置taglist窗口橫向顯示。

在 taglist 窗口中,可以使用以下操作指令:

: 跳到光標下tag所定義的位置,用鼠標雙擊此tag功能也一樣
o: 在一個新打開的窗口中顯示光標下tag
: 顯示光標下tag的原型定義
u: 更新taglist窗口中的tag
s: 更改排序方式,在按名字排序和按出現順序排序間切換
x: taglist窗口放大和縮小,方便查看較長的tag
+: 打開一個摺疊,同 zo
-: 將tag摺疊起來,同 zc
*: 打開所有的摺疊,同 zR
=: 將所有 tag 摺疊起來,同 zM
[[: 跳到前一個文件
]]: 跳到後一個文件
q: 關閉 taglist 窗口
: 顯示幫助

4. Python 函數、類的自動補全
CentOS 5.6 自帶的 vim7.0 已經支持了 PHP、Python、Ruby 等多種語言的自動補全,只需進行開啓即可。

開啓 Python 自動補全支持:

# echo 'autocmd FileType python set omnifunc=pythoncomplete#Complete' >> ~/.vimrc

這樣,當編寫 python 腳本時,使用 + x    + o 即可打開自動補全菜單,在頂部,還有對應的說明幫助信息 (docstring)。

vim 自帶的 pythoncomplete.vim 雖然很方便,還支持 docstring,但是有時並不能方便的列出一些函數的自動補全。所以,懶人可以繼續安裝 Pydiction 插件:

下載 Pydiction 插件:http://www.vim.org/scripts/script.php?script_id=850 下載後得到 pydiction-1.2.zip。

# 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

增加如下兩行:

1
2
let g:pydiction_location = '/usr/share/vim/vim70/pydiction/complete-dict'
let g:pydiction_menu_height = 20

打開 python 腳本文件,在編寫 python 程序時,按 TAB 鍵即可激活自動補全菜單。

5. Python 代碼自動摺疊
下載 python_fold 插件:http://www.vim.org/scripts/script.php?script_id=515 下載後得到 python_fold.vim。

# cp python_fold.vim  /usr/share/vim/vim70/plugin/
# vi ~/.vimrc

添加:

1
set foldmethod=indent

這樣,再編輯 python 文件時會發現代碼已經作了摺疊處理。下面是有關摺疊的一些命令:

zo: 打開光標位置的摺疊代碼;
zc: 摺疊光標位置的代碼;
zr: 將文件中所有摺疊的代碼打開;
zm: 將文件中所有打開的代碼摺疊;
zR: 作用和 zr 類似,但會打開子摺疊(摺疊中的摺疊);
zM: 作用和 zm 類似,但會關閉子摺疊;
zi: 摺疊與打開操作之間的切換命令;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章