簡單將vim改造成IDE

來源:互聯網
上載者:User

標籤: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
  1. 把zip包中的doc、nerdtree_plugin、plugin三個目錄解壓到$VIM/vimfiles目錄下。
  2. 將doc、plugin目錄下的檔案copy到~/.vim/下面對應的目錄,nerdtree_plugin copy到~/.vim/plugin
  3. 在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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.