Ctags with Vim

來源:互聯網
上載者:User

usage:     $ctags [-R] inc_dir/*.h  include_dir/*.hpp src_dir/*.c
example:   $ ctags -R `find . -name "*.c"`  `find . -name "*.h"`
su; cd /usr/include; ctags --c-types=+p+x -sort -R 
產生非常完整,巨大而有序的tags

各使用者在 ~/.vimrc中添加set tags= ./tags, tags, /usr/include/tags即可使用
[注1]+p開關會跳到變數聲明的地方而不是它的實現,所以還是採用預設值,
不要--c-types這個選項,或者只要+x(推薦),其它無所謂。
還有/usr/include並不是/usr/src/linux/include的一個符號連結,
所以如果是看核心中一些變數的定義的話應該到/usr/src/linux上面用ctagsctags瀏覽代碼 (有的命令說明可能不準確)
:set tags=/Dir/tags     設定需要的tags檔案,
                        可以多個:set tags=/dir1/tags, /dir2/tags
:tag xxx                轉到滿足尋找代碼的定義處,簡寫為 :ta xxx
:tag /^xxx              轉到以xxx為起始的tag處
other find tags :stag/ptag/ts/tj/pts/ptj /<pat>
:tag /xxx               列出所有包含xxx的tag
:tag                    轉到前一個瀏覽過的tag處
vi -t xxx               直接定位到xxx的定義處
:tn   /  :tp            轉到下/上一個tag代碼處,可以使用:5tn的形式
:tr   /  :tl            轉到首/尾tag代碼處
<C-]>, <C-左鍵>         轉到游標所在函數或者變數的定義處 g+左鍵 (GUI) [注2]
<C-T>, <C-右鍵>         回到跳轉前的代碼處(適用於任何跳轉) g+右鍵 (GUI)
:tags                   列出當前tag棧的內容
:ts xxx                 列出所有匹配的代碼及其所屬檔案,並提供選擇瀏覽
:sts xxx                列出匹配處提供選擇在新視窗中開啟檔案
:tj xxx                 類似 :ts xxx,當只有一個匹配時直接轉到代碼處
g]                      與 :ts xxx 功能相同(tag為游標下的標識符)
<C-w> g]                等價於 :sts xxx
g <C-]>                 等價於 :tj xxx
:pt? xxx                提供上述命令(?為j,s)的預覽功能,退出視窗 :q!
:t?! xxx                當前檔案的修改被丟棄轉到目標檔案中
<C-w> }                 在預覽視窗中顯示當前游標下的tag
:ptl / ptf / ptn /ptp   類似於 tl,tf,tn,tp
:che                    察看沒有找到的標頭檔(checkpath)
makeprg :set makeprg=gcc/ yourfile.c 為線上編譯設定
:make                   線上編譯
:cn  /  :cN             移動到編譯的 下/上 一個error處
:stag xxx               尋找xxx的聲明處並在新視窗中開啟
:ta {ident}             跳轉到標識符定義處
gd                      跳轉到局部標識符定義處[注2] Ctrl-]碰巧是telnet的終端符,如果遠程編輯檔案可能會遇到一些問題,
請參考線上協助:h ^]。多數telnet都允許使用命令telnet -E hostname來開啟
或關閉該脫字元,或者用telnet -e escape hostname來指定另外一個脫字元
來代替^],請man telnet參看-E -e的協助。
相關文章

聯繫我們

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