1

我正在尝试理解 ac 源代码,并且我在 cygwin 上使用 emacs。当我搜索时,我想出了ctags。我试图将它的说明与如何与 emacs 和 cygwin 一起使用,但我无法放弃它。

在所有这些事情上我都是新手。任何人都可以用 Emacs 和 cygwin 解释一个非常简单的 ctags 用法,以在 c 源代码中找到一些定义。

需要一步一步的例子,提前谢谢

4

1 回答 1

2

这是一个快速入门:

首先让 CTAGS 扫描您的代码。

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

  1. 转到树的根目录
  2. 执行ctags -e -R *以扫描树中的所有代码并生成“TAGS”文件

    • -e说生成 Emacs 兼容的输出
    • -R说递归目录
    • *说要扫描一切

在 Emacs 中使用标签

对于所有这些,如果系统提示您“访问标签表”,请回复您在上面创建的 TAGS 文件的位置。

  • 查找标签:<M-.> 系统将提示您输入要查找的标签。
  • 要列出与模式匹配的标签(apropos) ,请按<M-x>tags-apropos<ret>并提供您正在寻找的正则表达式。
  • 要在每个文件中搜索所有出现的标签,请按<M-x>tags-search<ret>并提供标签的名称。

笔记:

  • <M-x>表示在按下小写 x 的同时按下 meta 键(PC 上的 Alt)。(大写还有别的作用。)
  • <M-.>表示在按下句点的同时按下 meta 键(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 中使用标签的更多信息,您可能希望查看GNU Emacs 手册的标签部分

于 2013-09-26T18:28:14.973 回答