2013-09-26 54 views
1

我想了解一個c源代碼,我在cygwin上使用emacs。當我搜索時,我想出了ctags。我試圖通過emacs和cygwin來指導如何使用它,但我無法實現它。ctags for c項目與emacs和cygwin

我是新來的所有這些東西。 任何人都可以解釋一個非常簡單的ctags與Emacs和cygwin的用法來找到c源代碼中的一些定義。

需要一步步例如,預先感謝您

+0

如果系統沒有限制,那麼安裝Linux(~30分鐘)的時間比在cygwin下學習代碼的開銷*要少很多。 –

+0

但是,我必須堅持當前的sytsem,Windows 7上的cygwin。 – arslan

回答

2

這裏有一個快速啓動:

開始通過讓CTAGS掃描您的代碼。

在命令提示符下,執行以下操作

  1. 轉到你的樹的根目錄
  2. 執行ctags -e -R *掃描所有的代碼在你的樹和產生'標記的文件

    • -e說產生的Emacs兼容輸出
    • -R說噸Ø遞歸目錄
    • *說掃描一切

在Emacs

使用標籤所有這些,如果系統提示您「訪問代碼表」,與位置回覆您在上面創建的標籤文件。

  • 要找到某個標籤:<M-.>你會被提示輸入標籤 發現。
  • 要列出符合圖案的標籤(apropos)請按<M-x>tags-apropos<ret>並提供您正在查找的正則表達式。
  • 要在每個文件中搜索標籤的所有發生,請按<M-x>tags-search<ret>並提供標籤的名稱。

注:

  • <M-x>表示按所述元鍵(Alt鍵在PC上),同時按小寫字母x。 (大寫還有別的東西。)
  • <M-.>表示在按期間按下元鍵(PC上的Alt)。
  • <ret>手段,按返回(或回車鍵)

例子在Emacs的

比方說,我想弄清楚的是擁有當前日期的變量定義是什麼。我記得它有「約會」的一部分,但我不知道整個名字。爲此,我將通過使用tags-apropos命令來查找變量的正確名稱,以查找其中包含「日期」的所有標籤。所以我輸入以下內容:

<M-x>tags-apropos<ret>date<ret> 

我現在得到每個包含日期的標記的列表。在那裏,我找到一個名爲'currentDate'的標籤。現在我需要找到定義的位置,所以我輸入

<M-.>currentDate<ret> 

很酷,我找到了。但我仍然希望找到它在代碼中使用的任何地方。這可以使用標籤搜索:

<M-x>tags-search<ret>currentDate<ret> 

Emacs現在開始搜索文件。當它發現第一次出現'currentDate'併爲我突出顯示時。要移至下一個出現位置,我按<M-,>

更多信息

有關Emacs中使用標籤的詳細信息,您可能希望看到Tags section of the GNU Emacs Manual

+0

非常感謝。這正是我所尋找的,清楚地解釋了很多事情。我總是有這些命令的問題,現在我知道它是如何工作的。 – arslan

+0

標籤-apropos 在這個命令中,apropos是什麼?這個命令意味着按下Metakay,同時輸入你想要查找的字符串:string-apropos,然後點擊Enter。我對嗎?我做到了,但沒有任何迴應 – arslan

+0

@alim'apropos'表示查找包含您指定模式的單詞。我已經添加了一個不同命令一起使用的簡短示例,以及指向標籤上其他文檔的指針。 – jwernerny