gvim as Python IDE on windons

下載安裝Python。

Vim的網站下載vim,建議下Self-installing executable的版本。

 

編輯vim的配置文件_vimrc

拷貝vimrc_example裏面的東東到_vimrc

去掉_vimrc裏面的source $VIMRUNTIME/vimrc_example.vim

 

設置中文支持

" 設置編碼自動識別, 中文引號顯示 "set fileencodings=utf-8,cp936,big5,euc-jp,euc-kr,latin1,ucs-bom set fileencodings=utf-8,gbk set ambiwidth=double

 

設置ColorScheme,我選擇的是desert,你可以在GVim的Edit-->Color Scheme看到其他的Color Scheme。

"ColorScheme colorscheme desert

 

設置tab插入空格,縮進,刪除鍵刪除縮進,頁面文字寬度

複製代碼
" 允許退格鍵刪除和tab操作 set smartindent set smarttab set expandtab set tabstop=4 set softtabstop=4 set shiftwidth=4 set backspace=2 set textwidth=79
複製代碼

 

啓用鼠標,啓用行號

" 啓用鼠標 set mouse=a " 啓用行號 set nu

 

完成以上步驟後用GVim打開Python代碼的樣子。

 

啓用omni-completion的代碼補全功能 ,這個系列的組件是隨着Vim一起安裝好的,我順便把Ruby等其他語言的支持也加上了。現在按Ctrl-X,Ctrl-O可以補全代碼

如下修改_vimrc

"自動補全
filetype plugin indent on
set completeopt=longest,menu
"自動補全命令時候使用菜單式匹配列表
set wildmenu
autocmd FileType ruby,eruby
set omnifunc=rubycomplete#Complete
autocmd FileType python
set omnifunc=pythoncomplete#Complete
autocmd FileType javascript
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 java
set omnifunc=javacomplete#Complet

omni-completion實現代碼補全的效果

 

omni-completion可以實現部分的代碼補全功能,但是不是很全,所以我們啓用pydiction,更豐富的的代碼補全功能,按tab補全代碼。

下載pydiction,解壓後有4個文件,拷貝python_pydiction.vim和complete-dict到ftplugin目錄,修改_vimrc

"Pydiction let g:pydiction_location = 'C:\Program Files\Vim\vim73\ftplugin\complete-dict

現在按Tab鍵可以實現代碼補全,如圖

 

下面我們需要分析源代碼的工具Ctags,從網站下載For Windows版本的Ctags,解壓縮後拷貝ctags.exe到某處,確保windows的path包含這個目錄。

打開源代碼文件,點擊GVim上的buildtags按鈕。或者在控制檯中到你放源碼的目錄手動執行ctags -R命令。我們可以發現在當前目錄下生成了tags文件。這個就是我們需要的。我們可以在方法上按Crtl+],Vim會幫你找到方法定義的地方。

 

下面我們需要使用這個文件查看源代碼。我們需要用到另外一個插件TagList,配合Ctags可以高效的查看源代碼。下載TagList解壓縮後是doc和plugin和兩個目錄,把這兩個目錄拷貝到你的Vim安裝目錄(我的路徑是C:\Program Files\Vim\vim73),覆蓋原目錄(不用擔心這樣覆蓋不會影響已存在的東西),修改_vimrc如下

"TagList let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1

我們需要制定tags目錄給Vim,在Vim中執行命令:set tags=你的代碼所在的路徑\tags,如果你一直使用同一個代碼路徑可以把他寫死在_vimrc中,例如我的代碼在

D:\VimTest配置如下

 

"tags set tags=D:\VimTest\tags

 

然後在Vim中執行:Tlist就可以打開TagList的窗口了,如下圖左邊的窗口,試着在方法上點擊,可以發現右側的光標會自動跳到你點中的方法。

 

下面我們添加的是文件瀏覽的功能,下載WinManager ,加壓縮後有三個文件,放到plugin目錄裏。配置如下可以同時顯示FileExplorer和TagList

"WinManager let g:winManagerWindowLayout='FileExplorer|TagList' nmap wm :WMToggle<cr>

下面我們輸入wm命令就可以看到了,左上是FileExplorer,左下是TagList

VimWithWinManager

 

啓用Cscope ,更高級的分析源代碼,支持反向查找

下載windows下的可用版本http://sourceforge.net/projects/mslk/,解壓縮後拷貝所有文件到windows的path指向到的某個目錄。

下載cscope_maps.vim,放到Vim的plugin目錄。

修改_vimrc,讓查找結果顯示在quickfix窗口而不是主窗口。

"cscope show in quickfix set cscopequickfix=s-,c-,d-,i-,t-,e-

好了,配置完成,下面我們看看怎麼用。在vim中輸入:help if_cscop.txt可以看到關於Cscope的幫助。

看完文檔,我們可以在vim中輸入命令:cs find c foo用來查找foo方法在哪裏被調用過。

cscope_maps.vim映射了一些鍵盤的快捷鍵,我們可以快捷的使用查找功能。

我比較喜歡使用Ctrl+\,讓光標停留在你想查找的內容,然後輸入Ctrl+\後迅速的輸入c,就可以在quickfix窗體看到查找的結果。如果結果有多條你可以輸入命令:cw展開quickfix窗體。(這個快捷操作第一次使用可能會有些彆扭,多試幾遍就好了)

下面是我的一個查找結果

VimWithCscope

 

啓用MiniBufExplorer,管理vim的buffer(緩衝區),快速的在多個同時編輯的文件間切換。

編輯_vimrc如下

 

"MiniBufExplorer let g:miniBufExplMapWindowNavVim = 1 let g:miniBufExplMapWindowNavArrows = 1 let g:miniBufExplMapCTabSwitchBufs = 1 let g:miniBufExplModSelTarget = 1

 

 

配置好後打開多個文件MiniBufExplorer窗口就出現了。點擊上面的文件名可以在不同的文件間快速切換。

MiniBufExplorer

 

啓用Grep,在工程中查找 

Grep是linux中命令,如果你不熟悉可以看Grep的文檔

下載安裝Grep for windows

下載Vim的Grep插件,grep.vim放在plugin目錄

配置_vimrc,設置F3爲快捷鍵

"Grep nnoremap <silent> <F3> :Grep<CR>

把光標放在你需要搜索的內容,按下F3,可以看到Search for pattern: xxx,按下回車,出現Search in files,輸入*.py,只查找python的源代碼文件,按下回車就可以看到搜索的結果了。見下圖

VimWithGrep

 

啓用VimPdb,可以調試Python程序。

下載VimPdb,解壓後拷貝VimPdb.py,VimPdb.vim到plugin即可。

用vim代開python代碼文件,按F5運行,然後按F2設置斷點,在運行到斷點後可以用按F12可以查看Stack Trace,F3查看變量和參數值。

更高級的使用可以查看文檔。

_VimWithVimPdb

 

啓用ropevim ,重構Python程序

下載rope,ropemoderopevim,分別解壓縮,打開控制檯,cd到解壓縮目錄,執行python setup.py install安裝。

然後拷貝ropevim.vim文件到plugin目錄。這樣就安裝好了。我們試試重構一個類名,光標放在類名上,按Ctrl-c 然後連按兩下r。

可以看到quickfix窗體要求你輸入New name:,輸入新的名稱回車,再回車,重構就完成了。如下圖

VimWithRope

 

Python代碼檢查

在Vim的ftplugin目錄下新建一個python目錄。

下載pyflakes,解壓縮後把pyflakes.vim文件和pyflakes目錄拷貝套ftplugin\python目錄中。

打開一個有問題的python源代碼文件,執行命令:cc,即可進行代碼檢查,如下圖中找到了兩處錯誤。

VimWithpyflakes

 

好了終於寫完了,真累,最後放個大圖,顯示下整體效果。

 

參考文檔:

手把手教你把Vim改裝成一個IDE編程環境(圖文)

VIM as Python IDE

參考衆多,不一一列舉了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章