vim實用外掛程式

來源:互聯網
上載者:User

Windows下的IDE有一些有用的功能,比如sourceinsight裡shift-F8高亮符號,ctrl-m查看書籤,codeblocks裡F11切換源檔案和標頭檔,快捷的代碼補全,源檔案symbol視窗,這裡安裝一些外掛程式來使vim實現這些功能,這些外掛程式直接拷貝到.vim/plugin目錄就行了。 符號高亮

mark.vim
http://www.vim.org/scripts/script.php?script_id=1238

<Leader>m  標記或取消游標所在符號的高亮標記<Leader>n  如果游標所在處的符號已高亮,清除當前詞的高亮,否則清除所有符號的高亮
標記加強

ShowMarks
http://www.vim.org/scripts/script.php?script_id=152

在設定了一個標記後,它就會在你的vim視窗中顯示出標記的名字並高亮該行。
配置:

""""""""""""""""""""""""""""""" showmarks setting""""""""""""""""""""""""""""""" Enable ShowMarkslet showmarks_enable = 1" Show which markslet showmarks_include = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"" Hilight lower & upper markslet showmarks_hlline_lower = 1let showmarks_hlline_upper = 1" Ignore help, quickfix, non-modifiable bufferslet showmarks_ignore_type = "hqm"

首先,使能showmarks外掛程式,然後定義showmarks只顯示全部的大寫和小寫標記,並高亮這兩種標記,對檔案類型為help、quickfix和不可修改的緩衝區,則不顯示標記的位置。

ShowMarks已經定義了一些快速鍵:

<Leader>mt   - 開啟/關閉ShowMarks外掛程式<Leader>mo   - 強制開啟ShowMarks外掛程式<Leader>mh   - 清除當前行的標記<Leader>ma   - 清除當前緩衝區中所有的標記<Leader>mm   - 在當前行打一個標記,使用下一個可用的標記名 

Marks Browser : A graphical marks browser
http://www.vim.org/scripts/script.php?script_id=1706

用:MarksBrowser命令開啟瀏覽視窗,斷行符號前往某個標記,按d鍵刪除標記。
如果要保持標記瀏覽視窗持續開啟,在vimrc中添加:

let marksCloseWhenSelected = 0 """"""""""""""""""""""""""""""" markbrowser setting""""""""""""""""""""""""""""""nmap <silent> <leader>mk :MarksBrowser<cr>
標頭檔跳轉

a.vim
http://www.vim.org/scripts/script.php?script_id=31
在源檔案和標頭檔間進行切換

:A  源檔案標頭檔切換:AS 上下分割視窗後切換:AV 垂直分割視窗後切換:AT 建立標籤後切換將游標所在處單詞作為檔案名稱開啟:IH  切換至游標所在檔案:IHS 分割視窗後切換至游標所在檔案:IHV 垂直分割視窗後切換:IHT 建立標籤後切換
symbol視窗

taglist.vim : Source code browser (supports C/C++, java, perl, python, tcl, sql, php, etc)
http://www.vim.org/scripts/script.php?script_id=273

下載zip檔案並解壓,將taglist.vim放入plugin目錄,taglist.txt放入doc目錄,進入doc目錄,在vim中執行:helptags命令添加協助檔案。

let Tlist_Show_One_File = 1         "不同時顯示多個檔案的tag,只顯示當前檔案的let Tlist_Exit_OnlyWindow = 1       "如果taglist視窗是最後一個視窗,則退出vimlet Tlist_Use_Right_Window = 1      "在右側視窗中顯示taglist視窗,預設如此

在Vim命令列下運行:TlistToggle命令就可以開啟Taglist視窗,再次運行:TlistToggle則關閉。

設定Tlist_Sort_Type為”name”可以使taglist以tag名字進行排序,預設是按tag在檔案中出現的順序進行排序。
如果想在啟動VIM後,自動開啟taglist視窗,設定Tlist_Auto_Open為1。
如果希望在選擇了tag後自動關閉taglist視窗,設定Tlist_Close_On_Select為1。
在使用:TlistToggle開啟taglist視窗時,如果希望輸入焦點在taglist視窗中,設定Tlist_GainFocus_On_ToggleOpen為1.
Tlist_WinHeight和Tlist_WinWidth可以設定taglist視窗的高度和寬度。Tlist_Use_Horiz_Window為1設定taglist視窗橫向顯示。

tag視窗中支援以下命令:

<CR>          跳到游標下tag所定義的位置p             預覽tag定義,但不跳轉o             在一個新開啟的視窗中顯示光線標下tag<Space>       顯示光線標下tag的原型定義u             更新taglist視窗中的tags             更改排序方式,在按名字排序和按出現順序排序間切換x             taglist視窗放大和縮小,方便查看較長的tag+             開啟一個摺疊,同zo-             將tag摺疊起來,同zc*             開啟所有的摺疊,同zR=             將所有tag摺疊起來,同zMq             關閉taglist視窗<F1>          顯示協助
SuperTab

SuperTab : Do all your insert-mode completion with Tab.
http://www.vim.org/scripts/script.php?script_id=1643

SuperTab使用很簡單,只要在輸入變數名或路徑名等符號中途按Tab鍵,就能得到以前輸入過的符號列表,並通過Tab鍵迴圈選擇。

關於補全方式參見:help ins-completion
ctrl-n和ctrl-p 關鍵字補全
ctrl-x,ctrl-] 根據tag補全

在你的~/.vimrc檔案中加上這兩句:

let g:SuperTabDefaultCompletionType="<C-X><C-]>"" 設定按下<Tab>後預設的補全方式, 預設是<C-P>let g:SuperTabRetainCompletionType=2" 0 - 不記錄上次的補全方式" 1 - 記住上次的補全方式,直到用其他的補全命令改變它" 2 - 記住上次的補全方式,直到按ESC退出插入模式為止
我的設定

公司用的vim版本是6.3,上面的外掛程式只有marks browser只支援vim 7。
關於這幾個外掛程式我的配置是:

" ShowMarkslet showmarks_enable = 0let showmarks_include = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"nmap <Leader>md <Leader>mh" alternate headfilemap <silent> <F11> :A<CR>" Taglistlet Tlist_Show_One_File = 1let Tlist_Exit_OnlyWindow = 1nmap TT :TlistToggle<CR>" marksetmap <F8> <Plug>MarkSet

ShowMarks如果啟用,啟動vim時過一段時間才會高亮書籤,所以預設給它關了,感覺用md刪除一個書籤更合理點;
用F11快速鍵來切換標頭檔,TT來開啟taglist視窗;
因為有了ShowMarks的快速鍵,markset的<Leader>m會有一個延遲時間,所以直接用F8來高亮。 參考

http://blog.csdn.net/liuyuan185442111/article/details/51471093
http://blog.csdn.net/liuyuan185442111/article/details/51485803
http://easwy.com/blog/archives/advanced-vim-skills-advanced-move-method/
http://blog.csdn.net/vaqeteart/article/details/4146618
http://easwy.com/blog/archives/advanced-vim-skills-omin-complete/

相關文章

聯繫我們

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