现在我正在处理一个使用许多类、方法、函数、变量等的文件。是否可以转到所有这些的声明?请考虑到其中一些声明位于同一个文件中,但其他声明位于其他文件中(这些文件可能未打开,并且您不知道声明在哪里,但它们确实存在)。如果声明在目录中为上一级,会发生什么情况?如果低一级呢?
根据我们正在讨论的编程语言,这是以不同的方式完成的,还是无论使用哪种语言,查找声明的过程都是相同的?
我一直在阅读,似乎解决方案与标签有关。但是,我想知道如何实现这一点(一步一步),特别是考虑到我们在某些情况下正在讨论其他文件中的定义。
我知道这可以通过 IDE 来完成,但我想知道使用 vim 可以实现多少不同。
我只全新安装了 Vim。我还没有安装任何插件,但如果有必要的话愿意安装。也许这可以在不使用或使用插件的情况下完成。
提前致谢!
配置tags并不是那么困难,尽管(就像 Vim 中的大多数事情一样)它不像 IDE 那样自动。
- 首先,您需要
ctags
工具。 2022年最常见的是通用C标签 https://github.com/universal-ctags/ctags; 2013年是旺盛的C标签,发现于ctags.sourceforge.net http://ctags.sourceforge.net/.
- 接下来,您需要创建一个标签数据库(一个文件名
tags
) 对于项目中的所有文件。这通常是通过运行来完成的ctags -R .
从你的项目根目录(也可以从 Vim 中通过:!ctags ...
)。丰富的 Ctags 支持41种语言 http://ctags.sourceforge.net/languages.html,您甚至可以通过正则表达式扩展它。
- 最后,需要配置 Vim 来获取标签数据库. With
:set tags=./tags;
,它将在文件目录中向上搜索到根目录。如果您有某些全局包含目录,则可以添加它们。
- 这样,您就可以开始使用 Vim 的标签功能了,例如
<C-]>
and :tag
.
您需要定期更新标签数据库;有插件(比如易标签.vim http://www.vim.org/scripts/script.php?script_id=3114; 2022 警告:未维护,但仍在工作)可以自动为您执行此操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)