爲何要用vim編輯py文件?javascript
由於在Linux命令行中,缺乏圖形界面的IDE,vim是最佳的文本編輯器,而爲了更好的編輯py文本,因此配置vim。php
1. 安裝完整版vimcss
vi和vim的區別?html
在Linux自帶有vi編輯器,而vim是指vi improved,即vi升級版。區別在於vi指令和功能較vim簡單,正因如此纔有了vi improved。java
Ubuntu自帶的vi編輯器是vim.tiny,也就是vim最基本功能,幾乎等同於vi。而在Ubuntu中vi命令指向的是vim。python
如何使用apt安裝vim?git
Linux分支之Debian及其衍生版本中能夠經過apt管理包,apt是advanced packaging tools的縮寫。Ubuntu做爲Debian分支,使用apt命令管理包是很方便的。github
使用apt-get命令安裝包時會發現有幾個包可供選擇:vim,vim-gnome,vim-gtk,vim-tiny。聽說vim包其實就是vim.basic,該版本不支持GUI。建議安裝的是vim-gnome。vim
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 autoindent set 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 目錄下。