gpt4 book ai didi

linux - 如何在大型代码库中运行 ctags?

转载 作者:IT王子 更新时间:2023-10-29 01:08:47 25 4
gpt4 key购买 nike

假设我的代码目录结构如下:

/top  
/second
/core
a.pl
b.pl
c.pl
/common
d.pl
e.pl
/util
f.pl
g.pl
h.pl

我应该在哪里运行 ctags 以便我可以通过 vi 跳转到函数定义?

例如我有:

/dir
/perl
a.pl

我在 dir 中运行命令 ctags -R perl 但在 a.pl 中我无法跳转到存在的函数定义在同一个文件中。
如果我在 perl 目录中执行了 ctags -R . ,它就起作用了。

所以我无法理解这个模式。我应该在 core, common,util 中运行 ctags 吗?如果我的代码库很大怎么办?我真的需要在每个目录中运行它吗?

最佳答案

您的 tags 文件应该在您代码的第一个共同祖先(在您的情况下是 second)中生成,其中包含 $ ctags -R。

我建议您将这一行添加到您的 ~/.vimrc 中,以使 Vim 总能找到您的 tags 文件,无论您在项目中的哪个位置并且无论“当前目录”是什么:

set tags=./tags;/,tags;/

它的工作方式与@glts 的答案类似,但有一个有趣的转折:由于 ;/ 部分,Vim 向上查找直到 /标记 文件。假设您正在编辑 g.pl,Vim 将正确使用位于 secondtags 文件。

:h tags
:h ctags

关于linux - 如何在大型代码库中运行 ctags?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16636173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com