- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
ctags -R dirName, vim -t Tags 非常强大,因为在这两个命令之后,你现在可以在该项目的代码之间导航,例如你可以使用 :tag functionName 跳转到某个函数的代码,但是这个操作仍然有一些缺陷,通常情况下一个源代码可能包含一些函数调用,例如 va_start(),而该代码不包含在 dirName 目录中,因此不会为该函数生成索引,并且无法导航到定义va_start(),但是需要导航到这个函数吗?如何找到该代码?我什至不知道 va_start() 的确切定义在哪里。如何为系统功能或第三方功能生成ctags索引?
最佳答案
当您使用“ctags -R dirName”时,您只是为目录 dirName 的内容建立索引符号。
发生的情况是“va_args”在 stdarg.h 中定义,它是 C 标准库的头文件。
每次使用外部库中的符号时,您都会遇到相同的问题。
因此,如果您希望所有符号都可用,除了您的程序之外,您还必须为外部库的代码建立索引。
这意味着:
源代码应该可用(但情况并非总是如此)
一旦您在系统中找到该文件的位置,就应该对其进行解析以将其包含在您的“标记”文件中。
因此,一旦执行了 ctags -R projectPath
,您就可以执行 ctags -Ra/usr/include
将/usr/include 的所有内容附加到标记文件中。
更一般地说,您希望执行诸如 ctags -Ra librarySourcePath
之类的操作来获取程序中使用的所有符号。
编辑:但要小心:/usr/include 可能包含大量文件,因此 tag
文件的大小可能会大大增加,因此,每次您搜索要跳转到它的符号时,速度可能会慢得多!
关于linux - 为什么 vim -t ctags 不够?我无法跳转到我想要的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9325583/
ctags 没有看到我的 ~/.ctags文件,所以我尝试使用 --options 指定它选项,但它总是说它找不到文件,无论我把它放在哪里: $ touch .ctags && ctags --opt
我有一个 $HOME/.ctags文件来自 exuberant-tags ,但是 universal-tags似乎没有从中挑选我的选择。通用标签是否支持这些配置文件? 最佳答案 见 this docu
有没有人知道怎么生成调用层次图与 ctags 和 cscope ?我需要在终端中运行命令并将输出重定向到文件 , 而不是在 vim 中进行。 最佳答案 您可以使用 cflow 来执行此操作。只需将其用
请查看我的终端 session 的输出 sharpair:~$ /usr/bin/ctags usage: ctags [-BFadtuwvx] [-f tagsfile] file ... shar
我正在尝试在 Mac OS 上使用 exuberant ctags。我已经用 homebrew 安装了 exuberant ctags .这是我的版本: $ ctags --version Exube
我正在使用一个非常大的代码库,我发现有选择地选择包含哪些目录以供 Exuberant Ctags 使用非常有用。 --exclude 选项可以很好地消除单个文件和目录名称(带有全局通配符),但我不知道
假设我的 c 项目 中有大约 100000 个 *.c *.h 文件。我使用 find 命令将其列出到 cscope.files 中,然后从中创建 cscope.out 和标记文件,如下所示。 1.
目前我正在使用这个命令来生成 ctags: ctags -R --languages=ruby,javascript --exclude=.git --exclude=log . $(bundle l
从技术上讲,我正在使用 Tagbar在 vim 中查看文件的标签,但这个问题通常适用于 exuberant ctags,v5.8。 假设我有以下 python 文件,将其命名为 foo.py : cl
我正在使用“ExuberantCtags”,也称为“ctags -e”,也称为“etags” 我正在尝试了解由 etags 命令生成的 TAGS 文件格式,特别是我想了解 TAGS 文件的第 2 行。
exuberant ctags在哪里开发的?我found最新版本是 5.8但在我的系统中已经有版本5.9。 谢谢 最佳答案 您没有写出版本“5.9”的来源。您使用的是 Debian、Ubuntu 或其
我正在为自定义语言编写一个 .ctags 文件...与大多数语言一样,它允许在一行中声明多个变量...即: int a, b, c; 我有一个识别“a”的基本正则表达式: --regex-mylang
我正在尝试将.volt扩展名添加到ctags语言地图中,但它始终忽略.volt文件。这是我的.ctags文件的内容: --recurse=yes --tag-relative=yes --exclud
我需要使用 Ctags 来生成标记文件,但我更喜欢将其作为库而不是可执行文件。是否有任何可用的软件包作为库?我有一个带有可执行文件的编译版本,但不想在我的应用程序中运行新进程。任何建议或指示表示赞赏
我正在尝试将 vim 与 ctags 和/或 cscope 一起使用,它工作得很好,但我遇到了一些问题,其中 ctags 跳转到了错误的符号。例如在下面的代码中,如果我将光标放在 main() 中的符
我喜欢 Ctags 但事实上,每次我添加一个新方法时,我都需要重新创建我的文件,这可能会适得其反,不仅如此,而且如果我需要重新启动 VIM session ,那就更糟了,我也注意到我需要为我想要使用的
我有一个使用 Vim 的 Ctags 设置。 我目前的设置如下: set tags=./tags;/ set tags+=~/.ctags/*/tags 它基本上会查找 tags当前目录中的文件,直到
我想使用 vim 和 ctags 将我自己的信息存储在一个文件夹中。有什么方法可以实现吗? 示例:我想插入一条关于 mysql 的信息,我正在创建一个文件或其他新结构,以便将来可以由 ctags 解析
当我构建/更新我的标签文件时,ctags 从当前目录开始并递归地向下工作。 我希望它还包含一个完全不同的搜索路径、一个映射的网络驱动器,并将这些结果也添加到我的标签文件中。 有没有办法做到这一点? 最
为gcc 4.4.3 c89使用旺盛的ctags 5.8 我刚刚开始使用茂盛的标签,我只是想知道您添加了哪些选项。 这是一个列表,我只是想知道是否添加了太多,以至于无法解决。 $ ctags --li
我是一名优秀的程序员,十分优秀!