轉載:http://chowroc.blogspot.com/2008/06/python-vim.html
Python是我最喜歡的編程語言,而vim也是我最常用的編輯器,所以更好的配置vim來編輯Python源程序是很有必要的。下面談談偶學來的一點配置技巧。以下的大部分配置都是通過修改_vimrc文件來實現的,在Windows下它存在於vim的安裝目錄。
1、快捷調用使用的環境變量
我習慣於把vim的可執行文件路徑添加到PATH環境變量,這樣平時再控制檯下編程的時候可以很方便的啓動vim。另外,vim使用的文件名還是略微長
了一點。所以我一般將gvim.exe複製後改名爲gi.exe。將vim.exe複製後改名爲vi.exe。這樣直接在控制檯下執行gi和vi就可以分
別啓動vim的GUI版本和Console版本了。
2、在當前路徑啓動控制檯
很多時候需要在控制檯下調試程序需要在當前路徑啓動一個cmd窗口,而有些路徑相當的深或者含有大量中文字符的路徑讓我們很惱火。所以可以寫如下一個簡單的批處理文件來在當前文件夾下啓動cmd窗口。
@echo off
cmd .
保存爲cmdhere.bat。這樣將cmdhere.bat複製到想要的文件夾,直接雙擊這個批處理文件就可以打開想要的cmd窗口了,而且當前路徑也是所在文件夾的路徑,非常的方便。
3、關閉備份
安裝後的vim自動是具備備份功能的,一旦一個文件被修改就會生成~filename的備份文件。儘管對發生錯誤修改時的恢復有用,但是偶還是很不爽。所以關掉它才比較符合偶的習慣。
在_vimrc文件末尾添加
set nobackup
即可。
4、自動開啓行號
對編程的人來說行號實在是太重要的,因爲很多時候調試中的錯誤定位就是需要行號的。在vim下直接輸入:set nu可以開啓行號功能,但是對於習慣於每次都開啓行號功能的人來說,還是自動一些爲好。編輯_vimrc文件,在末尾添加
set nu
即可。
5、運行Python腳本的鍵盤映射
可以在vim下按下一個快捷鍵來直接運行當前的Python腳本。如下的設置是使用F12鍵,且環境變量中已經添加了python.exe的情況。具體習慣和路徑可以自己修改。這一行添加到_vimrc文件中。
map :!python.exe %
這樣就可以編輯Python腳本時,隨時按下F12,再按下回車鍵來執行當前腳本。這裏的執行時還有一個很貼心的功能,就是對於控制檯腳本,執行後並不是直接退出,而是請求按下任意鍵後才退出。
6、使用ctags功能
這個功能太強大了,只能這麼說了,具體還有什麼貼心功能可以自己探索。先講講安裝。去sf.net下載一個ctags的Windows版本。注意,最新版本可能沒有for win32版本的,所以需要向上推一個版本找找看。
下載後將其中解壓出的ctags.exe文件放入vim的文件夾,當然,前提是vim的執行文件路徑已經添加到PATH變量了。這時,按下gvim工具菜單的[建立],(by gashero)或者在普通模式輸入
:!ctags -R
這樣可以在當前路徑下建立一個tags文件,然後就可以在vim中使用跳轉功能了。其中的-R選項是遞歸搜索子目錄下的相關符號。所謂跳轉就是可以隨時轉到自己想要的函數、類型、結構體、類等等的定義處。比如光標處於任意位置時可以普通模式下輸入
:ta func_name
就可以直接將光標定位到func_name函數處。當然,其他的命名也可以使用這種方法進行快速定位。另外就是可以在光標指向一個函數名時按下Ctrl+],馬上跳轉到這個函數的定義。在跳轉到定義位置之後,可以按下Ctrl+o快速返回原來的編輯位置。
需要明確以下ctags和tags的區別。ctags是一個程序用於生成tags文件。tags文件是當前目錄下所有源文件的標籤鏈接文件。在一個沒有ctags的vim中只是無法生成新的tags文件,但是已有的tags文件仍然可以使用。
如果tags文件不再當前目錄下則用
:set tags=filename
來指定。
7、開啓代碼摺疊
下載python_fold插件,解壓後是python_fold.vim文件,放入plugin目錄下。即可實現
Python代碼的摺疊支持。再次打開Python腳本時會發現所有的代碼已經摺疊了,其中還現了摺疊部分擁有的行數。在摺疊的行按下zo可以打開摺疊,
按下zc會摺疊上代碼。(by gashero)
使用了代碼摺疊以後是否感覺到了vim已經成爲了一種相當現代化的編輯器了。呵呵,後面還有精彩。
8、開啓taglist功能
taglist功能是在vim窗口左側開啓一個列表,提供ctags生成的tags文件中的所有符號。此時在
taglist窗口中找到需要跳轉到的符號,定位光標,按下回車,即可將光標定位到右側窗口的相關代碼位置。使用十分的方便。當然要確保tags文件已經
存在的情況下。另外,對於兩個窗口之間的切換,我是習慣於按兩次Ctrl+w的。
taglist是需要下載的一個taglist.vim文件,可以到sf.net上搜索及下載。
默認情況下taglist是不打開的。不同的是python_fold是默認打開的。手動打開,在普通模式下輸入
:Tlist
默認打開taglist的方法:_vimrc中加入
let Tlist_Auto_Open=1