vim +ctags +taglist +global+cppcomplete 配置

來源:互聯網
上載者:User

 

原文連結:http://blog.chinaunix.net/u/22968/showart_432334.html
  1. 使用Cscope

 

cscope的tag產生最簡單的方法是:
在你的開發工程的最上層目錄執行cscope-indexer,它會遍曆下面的所有目錄,產生兩個檔案,一個是cscope.files,這個檔案記錄需要產生tags的檔案名稱,可以手工修改,另一個是cscope格式的tags檔案cscope.out。完成後,你在產生了cscope.out的目錄開啟工程的任意檔案,就可以使用Ctrl-]跳轉尋找類型定義了。

更多內容請參考下面兩篇文章:
    http://cscope.sourceforge.net/cscope_vim_tutorial.html
    http://cscope.sourceforge.net/large_projects.html
  2.使用taglist
taglist的功能是即時產生當前檔案的函數列表和全域變數列表,便於索引。
在vim中命令模式下使用 
Tlist 開啟或者關閉當前檔案的索引;
TlistSync 立即在開啟的索引視窗中定位當前的游標所在位置屬於哪個函數或者結構定義中。
還有其他命令,請參考它的協助檔案。

ctags的使用
其實cscope是用來替代ctags功能的,ctags的應用廣泛,還有其他很多的軟體依賴它。

例如要產生cppcomplete需要的tags檔案的話,需要運行下面的命令:
 
代碼:
ctags -n -f cppcomplete.tags --fields=+ai --C++-types=+p * -L cscope.files
 注意,我在最後使用了參數"-L cscope.files" 這僅僅是借用拉cscope產生的檔案索引來協助ctags去查詢相關工程檔案產生tags。

使用cppcomplete
cppcomplete的使用我只是簡單的發現它可以根據上述方法產生的tags檔案來自動補全類型成員。
使用很簡單,就是在你需要補全類型成員時,按F8鍵就可以拉。它一般第一次使用時,需要讓你確認是使用已有的tags檔案還是再產生一次。一般我們自己控制產生tags檔案的時機,它就使用就行拉。
但它也受到ctags的分析能力比較差的限制,可能不是每次都能幫到你。

使用global
在工程的最上層目錄執行命令:
gtags
等待它完成所有需要的global自己格式的tags的產生
產生完後,需要的就是在產生tags的目錄開啟你的工程的任意檔案,用如下命令查詢相互關聯類型引用和關聯關係:
 
代碼:
Gtags xxxx      尋找xxxx的定義
Gtags -r xxxx   尋找xxxx的引用
Gtags -s xxxx   尋找xxxx出現的地方

它的提示資訊很有顯,不如cscope更直觀,但對大型分析的比較完整。
有時它無法正常分析的類型 可以試試用帶-s 的參數的方式找找類型定義。再不行,我就不清楚拉 

 

 

相關文章

聯繫我們

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