歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> [LINUX下軟體開發者必備利器]ctags使用簡介

[LINUX下軟體開發者必備利器]ctags使用簡介

日期:2017/3/1 16:21:32   编辑:關於Linux
[LINUX下軟體開發者必備利器]ctags使用簡介 Vi大家都很熟悉,某些情況下它是我們在Linux下唯一可用的文本編輯器。其實我們平時所指的VI其實是VIM(ViImproved,VI增強版)。有人常常拿VIM和emacs比較,VIM盡管不象emacs那樣有那麼多的功能,但是比emacs更方便、好用。VIM簡單易用,只要看看VIM自帶的vitutor,大約只要20分鐘就能掌握VIM的用法。對於Linux下的C/C++的程序員,使用VIM+Ctags的組合來寫程序也許是最佳的選擇。^_^ VI的使用方法這裡就不羅嗦了,本文假設大家已花了20分鐘學習過了vitutor。 ^_^ 本節我們主要講一下Ctags這個程序。盡管ctags也可以支持其它編輯器,但是它正式支持的只有VIM。並且VIM中已經默認安裝了Ctags,它可以幫助程序員很容易地浏覽源代碼。 熟練的使用ctags僅需記住下面七條命令:(很簡單吧,呵呵) 1. $ ctags –R * ($ 為Linux系統Shell提示符) 2. $ vi –t tag (請把tag替換為您欲查找的變量或函數名) 3. :ts (ts 助記字:tags list, “:”開頭的命令為VI中命令行模式命令) 4. :tp (tp 助記字:tags preview)---此命令不常用,可以不用記 5. :tn (tn 助記字:tags next) ---此命令不常用,可以不用記 6. Ctrl + ] 7. Ctrl + T 下面我們逐條的解釋上面的命令: “$ ctags –R *”:“-R”表示遞歸創建,也就包括源代碼根目錄(當前目錄)下的所有子目錄。“*”表示所有文件。這條命令會在當前目錄下產生一個“tags”文件,當用戶在當前目錄中運行vi時,會自動載入此tags文件。Tags文件中包括這些對象的列表: 用#define定義的宏 枚舉型變量的值 函數的定義、原型和聲明 名字空間(namespace) 類型定義(typedefs) 變量(包括定義和聲明) 類(class)、結構(struct)、枚舉類型(enum)和聯合(union) 類、結構和聯合中成員變量或函數 VIM用這個“tags”文件來定位上面這些做了標記的對象。 剩下的命令就是定位這些對象的方法: “$ vi –t tag” :在運行vim的時候加上“-t”參數,例如: [/usr/src]$ vim -t main 這個命令將打開定義“main”(變量或函數或其它)的文件,並把光標定位到這一行。如果這個變量或函數有多處定義,在VI命令行模式“:ts”命令就能列出一個列表供用戶選擇。 “:tp”為上一個tag標記文件,“:tn”為下一個tag標記文件。當然,若當前tags文件中用戶所查找的變量或函數名只有一個,“:tp,:tn”命令不可用。 :( 最方便的方法是把光標移到變量名或函數名上,然後按下“Ctrl+]”,這樣就能直接跳到這個變量或函數定義的源文件中,並把光標定位到這一行。用“Ctrl+t”可以退回原來的地方。即使用戶使用了N次“Ctrl+]”查找了N個變量,按N次“Ctrl+t”也能回到最初打開的文件,它會按原路返回 。 ^_^ 注意:運行vim的時候,必須在“tags”文件所在的目錄下運行。否則,運行vim的時候還要用“:settags=”命令設定“tags”文件的路徑,這樣vim才能找到“tags”文件。在完成編碼時,可以手工刪掉tags文件(帚把不到,灰塵不會自己跑掉^_^)。
Copyright © Linux教程網 All Rights Reserved