问题标签 [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 投票
3 回答
946 浏览

vim - VIM:如何在匹配的标签之间移动?

我是 ctags 的忠实粉丝,但有时很难使用它。

如果我有一些具有相同名称的函数声明 - “ctrl + ]”会让你第一次出现 - 这并不总是我需要的。

如何查看匹配标签的完整列表,以便选择要打开的标签?

0 投票
2 回答
2866 浏览

c - 了解 `ctags -e` 文件格式(emacs 的 ctags)

我正在使用“ExuberantCtags”,也称为“ctags -e”,也称为“etags”

我试图了解由 etags 命令生成的 TAGS 文件格式,特别是我想了解 TAGS 文件的第 2 行。

维基百科说第 2 行是这样描述的:

实际上,尽管 TAGS 文件 line:2 for "foo.c" 看起来像这样

我的困惑是它究竟是如何找到这个数字的:1683

我知道这是“tag_definition”的大小,所以我想知道什么是“tag_definition”?

我曾尝试查看ctags 源代码,但也许比我更擅长 C 的人会更成功地弄清楚这一点。

谢谢!

编辑#2:

好吧,所以如果我理解正确的话,“79”是指 TAGS 文件中从 79 到并包括“91^J”的字节数。

完全有道理。

现在这个例子维基百科中的数字 20、59、91 指的是 {byte_offset}

{byte_offset} 偏移量是多少?

感谢所有的帮助肯!

0 投票
4 回答
833 浏览

vi - vi 命令行相当于 CTRL-]?

我正在尝试在 vi 中映射我自己的快捷方式。我希望能够打开一个拆分窗口,其中包含我正在调用快捷方式的函数的声明。在我的 vimrc 中是这样的:

nmap <unique> <silent> <Leader>tg :exe 'vsplit'\| equivalent of <C-]>

但是在命令模式下 C-] 的等价物是什么?

0 投票
2 回答
359 浏览

vim - CORBA IDL 的 ctags 生成器?

我在多语言环境中工作,并使用 Vim + ctags 来导航代码。但是我们也使用 CORBA 并且 exuberant ctags 不解析 IDL 文件。

有谁知道 IDL 的 ctags 兼容标签生成器?

0 投票
2 回答
765 浏览

c++ - 是否可以在 Vim 中使用不同的标签文件进行全功能和通用标签浏览?

多年来我一直在 Vim 中使用 ctags,但我只是发现了omnicomplete。(看起来不错。)

但是,我有一个问题:要让omnicomplete 正常工作,我必须在生成标签时使用--extra=+q 选项,这很好,但这会以我不喜欢的方式改变一般标签浏览的行为.

例如,当 Vim 中的制表符完成标签名称时,我不想将标签“放入”类的“层次结构” - 也就是说,当制表符完成“Clas”时,得到“ClassA, ClassA::var1, ClassA::var2 , ClassB", 而不是 "ClassA, ClassB" - 但这就是使用 --extra=+q 时发生的情况。

所以我想我追求的是两件事之一。要么: 1.即使标签文件中确实存在这些层次结构,也能够禁用制表符完成进入“标签层次结构”。或者,2. 使用不同命名的标签文件(即使用不同的选项生成)进行全方位和一般标签浏览的能力。

任何想法将不胜感激!

干杯,

想过。

0 投票
2 回答
378 浏览

c++ - Vim 搜索类

如何定义一个 vim 函数,以便在调用时使用

它通过 vimgrep 搜索

或者

?

[这是poorman的cscope/ctag;我希望能够输入一个类名,并让它搜索类。]

如果这很容易,有没有办法告诉它在我的光标下查看以使用该“单词”作为搜索的名称?

谢谢!

0 投票
2 回答
103 浏览

vim - 是否可以让 Vim 在其默认(非 vim)编辑器中打开文件?

我设置了 cTags 来标记一堆自定义内容,用于我在工作中使用的简单内部脚本语言。由于各种原因,我想对其进行设置,以便如果我<C-]>在某些标签上 vim 在默认编辑器中而不是在另一个缓冲区中打开它们。可以这样设置吗?

0 投票
2 回答
2270 浏览

notepad++ - Notepad++ 关联自定义 ext 以供 ctags 使用

我对 PL/SQL 文件(而不是 .sql)使用 .pkb 和 pkh 扩展名。我已经在 langs.xml(Styler Config)中关联了 .pkb 和 .pkh 扩展名,以便 Notepad++ 在我打开 pkb 和 pkh 文件时识别要使用的语法高亮(语法高亮与 sql ext 相同)。现在的问题是我无法使用使用 ctags 解析代码的插件(如 SourceCookifier、OpenCtag、GtagSearch),因为这些插件无法识别 pkb 和 pkh 扩展名。我可以使用它们的唯一方法是将我的文件更改为 sql,然后更改为 pkh 或 pkb 分机。

是否有任何配置可以使基于 ctags 的插件与非 sql ext 一起使用?我尝试更改插件的各种配置,但没有成功使它们工作。

谢谢。

0 投票
1 回答
1122 浏览

javascript - 对带有 ctags 的 javascript 使用 VIM omnicomplete

我已经使用 vim/gvim 4 个月了,现在我找到了一种方法来利用它的优势。我的标签文件生成得很好,这里有一个简单的行。

my.namespace.classname /path/to/file.js /^my.namespace.classname = function(first_arg,$/;" f

这是我需要全方位完成的示例:

my.namespace.cla <- 包含 my.namespace 中所有类名的完整列表

以上是我的问题的关键,因为它看起来像omnicomplete 只搜索命名空间而不包括“我的”。在它面前。所以我在全能列表中看到了其他元素,而不是我的类名。

但是,如果我输入 :tag my.namespace.classname 例如 gvim 在正确的位置打开正确的文件。

出了什么问题,我怎样才能让它工作?

0 投票
1 回答
1616 浏览

vim - 如何为 Groovy 类生成 TAGS 文件以在 VIM/Emacs 中使用

Exuberant cTags 不支持 Groovy。