问题标签 [exuberant-ctags]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5897 浏览

vim - E426: tag not found 一直出错

我从https://github.com/b4winckler/macvim/downloads下载了一个 macvim 快照 64,并通过以下方式安装了 exuberant ctags homebrew

tags在 vim 中的变量如下所示:

rails-vim我用's:Rtags命令生成了标签文件:

问题是无论我使用C-]还是:tag全部失败并出现E426 tag not found错误。

标签肯定在那里:

有什么建议么?谢谢你。

0 投票
2 回答
598 浏览

git - 如何为多个 git 项目设置 TAGS 文件(etags)?

在为 git 项目设置 emacs 时,我正在使用

在当前目录中创建一个 TAGS 文件。我经常想包含来自另一个项目的符号,所以我用绝对路径附加它们:

但是,当我有两个git存储库时

不起作用:git 告诉我路径在当前存储库之外。我可以 cd 进入它,但是打印在 stdout 上的路径与 TAGS 文件无关,因此 emacs 将找不到它们。

有什么优雅的方法可以解决这个问题吗?我想到的只是一些过于复杂的 shell 脚本魔法,在输入 xargs 之前为每一行添加前缀......

0 投票
1 回答
218 浏览

vim - Vim 在omnicompletion 失败后清除标签

我正在使用带有大量插件的 Vim 7.3,主要用于 PHP 开发。除了我遇到的一个小故障之外,omnicompletion 效果很好。我正在尝试确定这是 Vim 中的错误还是我的设置有问题,所以情况如下:

set tags=<files>用来指定我正在使用的 ctags 文件。

如果我然后打印标签的内容,我会得到我期望的:

我也可以像往常一样使用omnicomplete,带有<C-x> <C-o>. 这是,直到我尝试完成一些不存在的东西(即一个不返回结果的未知标签)。我收到“找不到模式”错误消息,然后奇怪的是,我的标签文件列表被清除了。如果我直接打印标签的内容,我会得到:

我已经对我正在使用的 Vim 插件进行了大量的 grepping,但据我所知,它们都没有在任何地方设置标签文件。

谁能告诉我这是由于我的设置中的某些问题还是 Vim 本身的错误?或者甚至是否有其他人发现同样的问题?

0 投票
1 回答
873 浏览

vim - 如何在 .vimrc 中检测操作系统类型并设置 ctags 路径?

我在 FreeBSD 和 Linux 操作系统上都使用 vim,共享相同的 .vimrc 配置文件。有一个问题,在 FreeBSD 上 ctags 二进制路径是 /usr/local/bin/exctags,而在 linux 上是 /usr/bin/ctags。那么如何检测操作系统类型并分别设置ctags二进制路径呢?

更新:
我发现一旦安装了 taglist 插件,它会自动检测 ctags 路径并将其存储在 g:Tlist_Ctags_Cmd 变量中。

0 投票
1 回答
383 浏览

vim - .vimrc TAGS 命令错误

我在 linux 上使用 etags 和 vim 来浏览源代码(*.c,*.h)。我创建了一个 TAGS 文件 bu 给出命令:

TAGS 文件被创建,但是当我开始浏览时,说其中一个名为 1.c 的源文件定义了一个 C 结构变量并在其函数定义之一中使用(结构名称是其他 1.h 文件中的 typedef)。我在 vim 中打开文件 1.c,然后CTRL - ]将光标放在该结构类型上,etags 不会浏览到具有此结构声明的头文件 1.h。

这只发生在我的 .vimrc 中有下面的行时,当我在两行下面评论时,基于 etags 的源浏览工作正常。

我试图告诉 vim 在哪里找到 TAGS 文件。从当前文件夹开始直到我的主目录。这里有什么不正确的?

上述命令的正确语法是什么?

ctags/etags 是否使用 vim 浏览,显示从哪里调用所有给定函数?如果是,查看该命令的命令是什么?

0 投票
4 回答
3583 浏览

vim - .cu (CUDA) 文件的 ctags+taglist

我使用 vim 编辑器(在 Ubuntu 上)。最近,我一直在处理大型 cuda 项目,因此想利用 ctags 实用程序进行代码浏览。exuberant-ctags [here] (http://ctags.sourceforge.net/languages.html) 支持的语言列表尚未包含 CUDA。如果有人知道可以做同样的调整,我将非常感谢您的帮助。

谢谢

编辑1:我找到了以下临时修复。

要为 CUDA 文件创建标签文件,请使用带有以下选项的 ctags(假设您的当前目录包含所有 cuda 文件);

$ctags --langmap=c++:+.cu *

0 投票
1 回答
208 浏览

regex - 如果没有评论,ctags 匹配

在插件标签栏中,作者建议在文件中添加一些行以.ctags生成一些漂亮的乳胶标签。一个例子是

我对此的唯一问题是它会匹配带有注释的行。Latex 中的注释是任何一行都跟在%. 所以我尝试将正则表达式修改为:

我添加的部分[[:space:]]*[^%]+只是尝试消除具有一个或多个空格后跟%字符的行。但现在的问题是,以开头的行\section{whatever}不会生成任何标签。有没有办法解决这个问题?

0 投票
4 回答
5037 浏览

c++ - 如何使用 shell 魔法使用 GNU etags 创建递归 etags?

标准 GNUetags不支持 exuberant 所做的递归遍历目录ctags -R。如果我只能访问 GNU etags,我如何使用 bash shell 魔术来获取 etags 为当前目录中的所有 C++ 文件*.cpp*.h文件以及当前目录下的所有目录递归生成一个 TAGS 表具有正确路径名的当前目录,用于emacs解析 TAGS 表条目。

0 投票
5 回答
2771 浏览

ctags - ctags 正则表达式用于一行中的多个声明

我正在为自定义语言编写一个 .ctags 文件......像大多数语言一样,它允许在一行中声明多个变量......即:

我有一个识别“a”的基本正则表达式:

如何修改它以使其也匹配“b”和“c”?我在 ctags 文档中找不到任何在一行中处理多个匹配项的内容。

0 投票
4 回答
5768 浏览

comments - 如何向 Exuberant Ctags 配置文件添加注释?

我可以使用什么字符在 Exuberant Ctags.ctags文件中添加评论?

我想添加带有解释的评论,也许要禁用一些正则表达式。

但我找不到任何 ctags-exuberant 接受的评论字符!
我不断收到警告:

这比错误要好,但仍然有点烦人。

我已经尝试# // /* ... */;作为评论,但 ctags 试图解析它们!

这是一个示例文件,其中包含一些 ctags 会抱怨的注释: