本文轉自http://www.cnblogs.com/ifantastic/p/3185665.html
爲什麼要用vim編輯 py文件?
因爲在Linux命令行中,缺少圖形界面的IDE,vim是最佳的文本編輯器,而爲了更好的編輯py文本,所以配置vim。
1. 安裝完整版vim
vi和vim的區別?
在Linux自帶有vi編輯器,而vim是指vi improved,即vi升級版。區別在於vi指令和功能較vim簡單,正因如此纔有了vi improved。
Ubuntu自帶的vi編輯器是vim.tiny,也就是vim最基本功能,幾乎等同於vi。而在Ubuntu中vi命令指向的是vim。
如何使用apt安裝vim?
Linux分支之Debian及其衍生版本中可以通過apt管理包,apt是advanced packaging tools的縮寫。Ubuntu作爲Debian分支,使用apt命令管理包是很方便的。
使用apt-get命令安裝包時會發現有幾個包可供選擇:vim,vim-gnome,vim-gtk,vim-tiny。據說vim包其實就是vim.basic,該版本不支持GUI。建議安裝的是vim-gnome。
apt搜索包:
$ apt-cache search package_name
apt安裝包:
$ apt-get install vim-gnome
安裝完成後,vi命令會指向vim.gnome。
2. 安裝ctags
ctags用於支持taglist,使用ctags可以在變量之間跳躍。
$ apt-get install ctags
3. 安裝taglist
首先安裝vim-scripts,vim-scripts中帶有vim-addon-manager,vim-addon-manager是Ubuntu衆多插件管理器之一,用來管理vim插件。通過vim-addon-manager安裝taglist。
$ apt-get install vim-scripts$ vim-addons install taglist
4. 安裝pydiction
pydiction用來實現代碼補全和語法提示功能。pydiction不能通過apt安裝,需要自行下載安裝。
下載方法一: 在vim官網下載zip包,然後自行解壓。下載地址爲:http://www.vim.org/scripts/script.php?script_id=850 下載方法二: 在GitHub下載源碼,可以使用Git遷出到本地,或者下載zip包自行解壓,地址爲:https://github.com/rkulla/pydiction
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會自動在此目錄下搜索。
Windows系統:將python_pydiction.vim文件複製到 C:\vim\vimfiles\ftplugin 目錄下(假設你的Vim安裝路徑爲C:\vim)
除此之外的另兩個文件complete-dict和pydiction.py可以放置到任何你想放置的位置,但在ftplugin目錄下最好只存放python_pydiction.vim而不應該還有其他文件。
以下爲pydiction.zip解壓後執行的安裝命令(我的complete-dict和pydiction.py放置在~/.vim目錄下):
進入解壓後的pydiction目錄$ cp after/ftplugin/python_pydiction.vim ~/.vim/after/ftplugin$ cp complete-dict ~/.vim$ cp pydiction.py ~/.vim
5. 編輯配置文件
編輯~/.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/tools/pydiction/complete-dict' set autoindentset tabstop=4 set shiftwidth=4 set expandtab set number
filetype plugin on:表示開啓插件。
let g:pydiction_location='~/.vim/tools/pydiction/complete-dict' : 寫入你存放complete-dict的絕對路徑。
如果是Pydiction 1.0以前的版本,要確保vimrc不包含以下代碼:
if has("autocm") autocmd FileType python set complete+=k/path/to/pydiction iskeyword+=.,(endif " has("autocmd")
6. 進擊的.vimrc
以上針對Python配置的vim算是基本完成,但事情可以做得更完善一點,進一步將你的vim變得更好用。(以下進擊不僅針對Python,而是對vim自身的完善。)
6.1. 安裝pathogen.vim
簡介:pathogen.vim是一個方便操作"runtimepath", "path", "tags"等的插件,安裝了pathogen.vim後,可以非常方便地下載安裝其他vim插件。
下載:http://www.vim.org/scripts/script.php?script_id=2332 或 https://github.com/tpope/vim-pathogen
安裝:
首先,在vim runtime目錄下創建兩新目錄 ~/.vim/autoload 和 ~/.vim/bundle。
$ mkdir -p ~/.vim/autoload ~/.vim/bundle
其次,拷貝源包中 autoload/pathogen.vim 到 ~/.vim/autoload 目錄下。
$ cp autoload/pathogen.vim ~/.vim/autoload/pathogen.vim
然後,在.vimrc文件中寫入以下代碼:
execute pathogen#infect()
至此,pathogen.vim便安裝完成了。此後所有vim插件目錄可以解壓到 ~/.vim/bundle 中, 它會被自動追加到"runtimepath"中。
6.2. 代碼高亮
簡介:對代碼進行高亮顯示。
下載:http://www.vim.org/scripts/script.php?script_id=1599
安裝:
將下載的hightlight.vim拷貝到 ~/.vim/plugin 目錄下。
$ cp hightlight.vim ~/.vim/plugin
高亮搜索結果命令 :set hlsearch,使用命令 :hi Search查看高亮背景色,默認棕黃色,更改高亮背景色命令 :hi Search guibg=LightBlue。
臨時關閉高亮命令 :nohlsearch,該命令可簡寫爲 :noh。
可以配置.vimrc,使用空格鍵臨時關閉搜索結果高亮,在.vimrc寫入:
:nnoremap <silent> <Space> :nohlsearch<Bar>:echo<CR>
要關閉搜索結果高亮,使用命令 :set nohlsearch。同樣可以配置.vimrc來使用快捷鍵(F4)快速關閉和開啓搜索結果高亮,在.vimrc寫入:
:noremap <F4> :set hlsearch! hlsearch?<CR>
要默認關閉搜索結果高亮,在.vimrc寫入:
set viminfo^=h
(更多參考 http://vim.wikia.com/wiki/Highlight_all_search_pattern_matches)
(如何高亮單行 http://vim.wikia.com/wiki/Highlight_current_line)
6.3. taglist
簡介:顯示標籤列表。
下載:參看前述。
安裝:參看前述。
默認關閉taglist,在.vimrc寫入:
let Tlist_Auto_Open=0
在正常編輯區域和tags區域切換命令 :ctrl+w+w。
TlistToggle:開關taglist。
<CR>:跳轉至tag定義處。
o:在新窗口中顯示光標下的tag。
u:更新taglist窗口中的tag。
s:更改排序方式,名字排序或行號排序。
X:taglist窗口放大縮小。
+:打開摺疊,等同zo。
-:關閉摺疊,等同zc。
*:打開所有摺疊,等同zR。
=:將所有tag摺疊,等同zM。
[[:跳轉至前一個文件。
]]:跳轉至後一個文件。
q:關閉taglist窗口。
<F1>:顯示幫助。
6.4. 摺疊代碼
簡介:將Python代碼摺疊,Python的class,function,以及在{{{,}}}標記的內容將被摺疊。
下載:http://vim.sourceforge.net/scripts/script.php?script_id=515
安裝:
將下載的python_fold.vim拷貝到 ~/.vim/plugin 目錄下。
關閉開啓時默認摺疊命令,在.vimrc寫入:
set nofoldenable
zo: 展開單個摺疊區。
zc: 聚合單個摺疊區。
zn: 展開全部摺疊區。
zN: 聚合全部摺疊區。
6.5. NERDTree目錄樹
簡介:打開文件目錄樹,相當於文件瀏覽器。
下載:http://vim.sourceforge.net/scripts/script.php?script_id=515
安裝:
將整個解壓後的源包拷貝到 ~/.vim 目錄下,需要確保 NERD_tree.vim 位於 ~/.vim/plugin 目錄下, NERD_tree.txt 位於 ~/.vim/doc 目錄下。
使用<F7>作爲快捷鍵開關目錄樹,在.vimrc寫入:
map <F7> :NERDTreeToggle<CR>
6.6. 自動補全
簡介:可以對常用詞進行提示補全。
下載:http://www.vim.org/scripts/script.php?script_id=1879 或 https://bitbucket.org/ns9tks/vim-autocomplpop/get/tip.zip
安裝:
拷貝acp.vim 到 ~/.vim/plugin 目錄下,拷貝acp.txt到~/.vim/doc 目錄下。
【注意】 該插件有一個依賴對象l9.vim,所以還需要安裝l9.vim插件。
6.7. l9.vim
簡介:自動補全AutoComplPop的依賴庫。
下載:http://www.vim.org/scripts/script.php?script_id=3252
安裝:
將源包目錄置於vim運行時目錄下,確保 l9.vim 處於 ~/.vim/plugin 目錄下, l9.txt 處於 ~/.vim/doc 目錄下。