一些vim的外掛程式和配置

來源:互聯網
上載者:User

      vim的一個之處在於廣大vimmer所無私奉獻的外掛程式,令我等不懂vim指令碼的小白受益無窮。在此介紹一些我所安裝的外掛程式和配置,都是針對寫程式的,沒有文本編輯的,也沒有日曆,也不能煮咖啡。

1) A

      功能簡單但很有用的一個外掛程式,鍵入:A即可切換標頭檔和源檔案。預設支援C,C++,但不支援objc,對此可修改a.vim,在 a.vim 中加入如下語句:

call <SID>AddAlternateExtensionMapping('m',"h") "Objective-C file

call <SID>AddAlternateExtensionMapping('mm',"h") "Objective-C++ file

2) AutoComplPop

      vim中,按 <Ctrl - n> 可彈出自動補全菜單;這個外掛程式則可在鍵入過程中自動彈出自動補全菜單,有時方便有時煩。

3) C

      快捷地鍵入一些C,C++ 程式的程式碼片段,常用語句,以及快速注釋。例如,在正常模式或插入模式下,鍵入 \sd 就可輸入do while語句;又如鍵入 \cc 可將選中的文字區塊注釋掉等。

      由於 \ 鍵距離較遠,可在 ~/.vimrc 中加入:

let g:C_MapLeader  = ','

      則將首碼鍵改為英文逗號。

      預設的檔案類型也不夠,如要支援 objc,則在 ~/.vimrc 中加入:

let g:C_SourceCodeExtensions = 'c cc cp cxx cpp CPP c++ C i ii m mm'

      據說還能直接在vim中調用 GCC,沒試過。

3) Cocoa

      Cocoa是iOS開發的官方架構,這個外掛程式則試圖取代XCode的文本編輯功能。

      以我的使用經驗,XCode的文本編輯功能是為Objc量身定做的,可定製性差,用來寫 C++ 灰常悲劇,於是寫Objective-C++也就悲劇了,於是就想在vim上寫iOS應用,於是就有了這個外掛程式。

      自動補全官方API——這是最重要的功能,因為iOS API的類名,方法名通常很長很長,很長很長……

      這個外掛程式有個缺陷——有些功能不支援 .mm 檔案,大約是vim覺得 .mm 檔案不是objc檔案,不知道怎麼解決。

4) echofunc

      C,C++的外掛程式,當輸入完函數名,再輸 ( 時,會在狀態列給出函數定義,很有用。依賴於ctags。

5) grep

      可在檔案夾範圍內搜尋索引鍵。

6) NerdTree

      樹狀的檔案瀏覽視窗,還能設定書籤,比預設的File Explorer要好用。像IDE一樣組織檔案視圖。

      筆者在 ~/.vimrc 中的相關設定如下:

 

let g:NERDTree_title="[NERDTree]" 

 

function! NERDTree_Start()

    exec 'NERDTree'

endfunction

 

function! NERDTree_IsValid()

    return 1

endfunction

 

 

 

let NERDChristmasTree=0

let NERDTreeShowBookmarks=1

let NERDTreeShowFiles=1

let NERDTreeShowLineNumbers=1

let NERDTreeMinimalUI=1

let NERDTreeChDirMode=2

 

7) SnipMate

      類似TextMate的代碼片斷功能。

8) SuperTab

      在自動補全菜單中,按 <Tab> 來替代 <Ctr - n>,切換。

9) TagList

      產生C,C++函數的列表視窗。

      在 ~/.vimrc 中的設定如下:

 

let Tlist_Ctags_Cmd="/usr/local/bin/ctags"

let Tlist_Auto_Open=0

let Tlist_Process_File_Always=1

let Tlist_File_Fold_Auto_Close=1

let Tlist_Sort_Type="name"

let Tlist_WinWidth=30

let Tlist_Compact_Format=1

let Tlist_Enable_Fold_Column=0

let Tlist_Display_Prototype=1

let Tlist_Show_One_File=1

let Tlist_Exit_OnlyWindow=1

let Tlist_Use_Right_Window=1

10) vimball

      用來安裝vba格式的vim外掛程式。

11) objc_matchbracket

      這個也是Objc的外掛程式。

      Objc的視覺特點是中括弧套中括弧,所以書寫時容易搞錯搞漏,很折磨人。Xcode的編輯器能自動補齊中括弧,這個外掛程式也可以。缺點依舊,不支援.mm檔案。不知道怎麼改。

12) OmniCppComplete

      寫C++的話,這個外掛程式太有用了,像IDE一樣提示成員函數,資料。依賴於ctags。可以在~/.vimrc中添加下句:

map <F3> :!ctags -R --c++-kinds=+p --fields=+ialS --extra=+q .<CR>

      ——這樣在vim中按 <F3> 就可以產生tags檔案了。

      我的空間裡有~/.vimrc檔案的代碼,怕弄丟了就悲劇了,留著。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.