gpt4 book ai didi

vim - 如何用 vim 理解代码?

转载 作者:行者123 更新时间:2023-12-01 09:30:19 27 4
gpt4 key购买 nike

Vim 是一个不错的编辑器,我将它用于许多任务。

但是,当涉及到开始处理一个新的(可能是巨大的)代码库时,我觉得使用它来绕过代码以了解事情是如何工作的。

例如,如果我想查看 C++ 函数的使用位置,我可以在每个 **/*.cpp 文件中为该函数 :vimgrep:copen 快速修复窗口,每次出现...时跳转该字符串。

如果我做同样的事情,例如Eclipse(C++ 方法的调用层次结构),它不仅仅是一个字符串,而是一个定义在对象中的 C++ 方法,因此我将获得该函数(而不是同名函数)用法的精确指示在另一个类中定义)。

那么问题来了,如何让vim成为分析代码的强大工具?

子问题:

  • 是否有为此设计的 vim 插件?
  • 使用 vim 只分析代码有意义吗?可能是外部工具(例如:OpenGrok)可以完成这项工作?

最佳答案

Vim 是一个文本编辑器。你想要的几乎与编辑文本完全正交,完全超出了 Vim 自身的能力。

然而,Vim 非常擅长使用外部工具,例如 ctagscscope用于在项目中导航。假设您创建了一个 tags文件和/或 cscope.out数据库,Vim 有很多命令可以用来“跳转到定义”、“跳转到用法”等::ts[elect] foo , <C-]>函数名等等……你可以在 :h ctags 中找到你需要的所有信息。和 :h cscope .

如果你好奇,GNU GLOBAL是另一种选择。 cscope 的另一位亲是它带有自己的 TUI,你可以在你的 shell 中使用它。

唯一提供 cscope 的插件(+ ctags ) 我知道的接口(interface)是CCTree这似乎仅限于 C。

有一堆ctags面向插件,如 TagBarTagList您可以尝试,但请注意,虽然 ctags仅限于定义,cscope也可以做用法和调用者。

您应该记住,这些工具是代码索引器:您不应该期望它们能够“理解”您的代码,甚至不能像 IDE 工具一样精确。不过我喜欢 Vim,我建议您使用比文本编辑器更适合该任务的工具。

关于vim - 如何用 vim 理解代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16245623/

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