標籤:style blog io color os ar 使用 sp strong
公司伺服器上的vim用的異常痛苦,自己寫幾個小指令碼又不想用IDE,於是簡單改造下vim,嘗試了一次以後發現公司的機器裝的是vim6x,很多外掛程式不支援,於是乾脆重裝成7.x
1.安裝vim
先去下載vim安裝包,然後解壓,執行安裝命令,一般有
./configure--prefix=/usr/local/ 安裝目錄--enable-perlinterp perl整合--enable-pythoninter ppython整合--enable-cscope csope支援--enable-multibyte 雙位元組支援,支援中文的要選這個--enable-fontset --with-features=huge 最大特性
然後,完成安裝
makemake install
2.定製個人的vim配置
未定製之前用的是全域配置,現在定製自己的vim配置,主要是使用者目錄下的.vim目錄和.vimrc設定檔
在vim裡運行
set runtimepath?
查看vim的目錄,我這裡顯示為
runtimepath=~/.vim,/usr/share/vim/current/vimfiles,/usr/share/vim/current,/usr/share/vim/current/vimfiles/after,~/.vim/after
一般通用檔案是放在/usr/share/vim/current/vimfiles下面,將這個檔案夾下面的東西拷貝到.vim下面
查看syntax下面的python.vim是否存在,然後配置開啟syntax
3.Ctags和外掛程式Tasklist 利用Ctags和外掛程式Tasklist可以在vim中實現項目視圖的功能 下載ctags,然後安裝
tar -xzvf ctags-5.6.tar.gzcd ctags-5.6makemake install // 需要root許可權
執行ctags -R可以看下是否安裝好以及是否有tags檔案產生,再在vim中運行類似命令,填入對應的tags路徑用以綁定對應tags,然後就可以使用函數跳轉等功能:
:set tags=/xx/xxx/xx
安裝targlist更容易,解壓出來是個plugin目錄,然後把它放入plugin目錄下,最後使用命令:TlistToggle開啟taglist視窗
cp taglist.vim ~/.vim/plugin/
4.自動補全pydiction pydiction主要用於代碼補全,按tab就能自動補全,但感覺上還是比ide弱一點 下載安裝包,解壓後包括三個檔案:
python_pydiction.vim #vim外掛程式
complete-dict #python關鍵字和模組列表,
pydiction.py #python指令碼,可以添加更多的模組
建立目錄,然後將對應檔案移到對應目錄·,
mkdir -p ~/.vim/after/ftplugin/pydiction
複製 python_pydiction.vim 檔案到Vim安裝路徑
cp -p python_pydiction.vim ~/.vim/after/ftplugin/
複製 complete-dict 和 pydiction.py 到 ~/.vim/after/ftplugin/pydiction目錄。(這兩個檔案可以放在任何目錄,對應於 pydiction_location 變數)
修改 ~/.vimrc檔案,若沒有則建立,在該檔案中添加下面兩行:
filetype plugin onlet g:pydiction_location=‘~/.vim/after/ftplugin/pydiction/complete-dict‘
5.檔案瀏覽器nerdtree
舊版Nerdtree:解壓出來時個plugin目錄,然後把它放入plugin目錄下
cp taglist.vim ~/.vim/plugin/
在vim中運行:NERDTreeToggle就可以開啟
新版nerdtree
- 把zip包中的doc、nerdtree_plugin、plugin三個目錄解壓到$VIM/vimfiles目錄下。
- 將doc、plugin目錄下的檔案copy到~/.vim/下面對應的目錄,nerdtree_plugin copy到~/.vim/plugin
- 在vimrc下面增加
"NERDTree plugin let NERDTreeWinPos = "right" "where NERD tree window is placed on the screen "let NERDTreeWinSize = 31 "size of the NERD tree
6.vimrc檔案將幾個外掛程式改造成捷徑開啟/關閉,tab和文法常規最佳化了下,主要用來寫寫python指令碼
" 設定字元集set encoding=utf-8set fencs=utf-8,gbk" 設定python格式set filetype=pythonau BufNewFile,BufRead *.py,*.pyw setf python" 偵測檔案類型 filetype on " 載入檔案類型外掛程式 filetype plugin on " 為特定檔案類型載入相關縮排檔案 let g:pydiction_location=‘~/.vim/after/ftplugin/pydiction/complete-dict‘let g:pydiction_menu_height = 20filetype indent on " 設定縮排set autoindent " same level indentset smartindent " next level indentset expandtabset tabstop=4set shiftwidth=4set softtabstop=4" 文法高亮syntax on set nu" 高亮顯示匹配的括弧 set showmatch " 匹配括弧高亮的時間(單位是十分之一秒) set matchtime=5 "設定ctagslet Tlist_Show_Menu = 1 "TlistUpdate可以更新tags map <F2> :!ctags -R * <CR> "產生tags map <F3> :silent! Tlist<CR> "按下F3就可以呼出Taglist let Tlist_Ctags_Cmd=‘ctags‘ "因為我們放在環境變數裡,所以可以直接執行let Tlist_Ctags_Cmd=‘/usr/local/bin/ctags‘let Tlist_Use_Right_Window=0 "讓視窗顯示在右邊,0的話就是顯示在左邊 let Tlist_Show_One_File=1 "讓taglist可以同時展示多個檔案的函數列表,如果想只有1個,設定為1 let Tlist_File_Fold_Auto_Close=1 "非當前檔案,函數列表摺疊隱藏 let Tlist_Exit_OnlyWindow=1 "當taglist是最後一個分割視窗時,自動結束vim let Tlist_Process_File_Always=0 "是否一直處理tags.1:處理;0:不處理 "NERDTree plugin let NERDTreeWinPos = "right" "where NERD tree window is placed on the screen "let NERDTreeWinSize = 31 "size of the NERD tree map <F4> :NERDTreeMirror<CR>map <F4> :NERDTreeToggle<CR>"運行pythonnmap <F5> :!python %
簡單將vim改造成IDE