如何让 ctags 在 vi​​m 中工作

发布于 2024-10-29 07:27:14 字数 151 浏览 9 评论 0原文

我是 vim 新手,想要让 ctags 集成工作,这样我就可以更轻松地浏览大型 java 项目。

我已经从 source forge 中下载了 zip 并提取了它,但是从这里我不确定如何让它与 vim 一起工作。

对于 vim 新手用户的任何帮助都会很棒!

I'm new to vim and wanted to get ctags integration working so I can more easily navigate a large java project.

I've pulled down the zip from source forge and extracted it but from here I'm not sure how to get it working with vim

Any help for a novice vim user would be great!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

看透却不说透 2024-11-05 07:27:14

由于没有人在这些答案中给出一项关键功能,因此我将提供一个稍微优越的答案。

将 ctags 与 vim 结合使用的最简单方法是

ctags -R *

从源存储库的根目录调用:。这将在同一目录中生成一个 tags 文件。

在你的 ~/.vimrc 文件中,添加这个短块:

 " ctags optimization
 set autochdir
 set tags=tags;

" 表示注释。set autochdir 告诉 vim 如果找不到$PWD 中的 tags 文件,它将递归地在父目录中查找 tags 文件。 您的 tags 文件的名称将始终与 ctags 生成的默认 tags 文件相同。

告诉 vim,只要运行 ctags, -R * 第一次在你的根源目录中,偶尔更新它(如果你从其他人那里获取新的更改),那么你将始终在 vim 中进行快速直观的 ctags 符号查找。

As nobody has given one critical function in these answers, I'll provide one more slightly superior answer.

The easiest way to use ctags with vim is by calling:

ctags -R *

from the root of your source repository. This will generate a tags file in that same directory.

In your ~/.vimrc file, add this short block:

 " ctags optimization
 set autochdir
 set tags=tags;

" denotes a comment. set autochdir tells vim that if it doesn't find a tags file in the $PWD it will look in the directory parent for the tags file, recursively. set tags=tags; tells vim that the name of your tags file will always be the same as the default tags file generated by ctags.

So long as you run ctags -R * in your root source directory the first time and occasionally to update it (if you pull new changes from others) then you'll always have a fast and intuitive ctags symbol lookup in vim.

悸初 2024-11-05 07:27:14

使用 exuberant ctags,我在项目的基本目录中使用类似的内容(不包括“log”目录):

ctags -R --exclude=log *

Using exuberant ctags, I use something like this in my project's base directory (excluding the "log" directory):

ctags -R --exclude=log *
爱你不解释 2024-11-05 07:27:14

您必须以源文件作为参数运行 ctags 命令。这将创建一个包含所有信息的标签文件。然后,您可以使用 vim 打开文件,例如,在包含函数的行上按 Ctrl-] 可以跳转到该函数的代码。如果 vi 与标记文件不在同一目录中启动,可以使用 :set Tags= 进行设置

You have to run the ctags command with the source files as arguments. This will create a tags file containing all information. Then you can open a file with vim, and e.g. press Ctrl-] when on a line with a function to jump to the code of that function. If vi isn't started in the same directory as the tag file, you can set it with :set tags=<file>

つ可否回来 2024-11-05 07:27:14

这就是我正在做的:

  1. ctags -n -f [OUTPUT] [SOURCE] 生成标签(注意:-n 适用于我,但可能不适用于您的使用所必需的)
  2. exec "set Tags=" 。 [OUTPUT] 位于 .vimrc 内部,让 vim 意识到标签

编辑:我正在使用

  • Exuberant Ctags 5.5.2
  • VIM 6.1

其他信息:

  • 查看 ctags 用法此处
  • 提示和来自 SO 的技巧

This is what I'm doing:

  1. ctags -n -f [OUTPUT] [SOURCE] to generate the tags (NOTE: the -n applies to me but may not be necessary for your usage)
  2. exec "set tags=" . [OUTPUT] inside of .vimrc to let vim become of aware of the tags

EDIT: I'm using

  • Exuberant Ctags 5.5.2
  • VIM 6.1

Additional info:

  • See ctags usages here
  • Tips and tricks from SO
不忘初心 2024-11-05 07:27:14

看看这篇文章:vim-easytags。我没试过这个,但看起来很不错。手动创建和更新标签真的很烦人。希望这会有所帮助。 :)

look at this article: vim-easytags. i haven't tried this, but it looks quite good. manually creating and updating tags was really annoying. hope this will help. :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文