gpt4 book ai didi

VIM 7 : How to navigate the code source tree from the root of the code base, 以有效的方式?

转载 作者:行者123 更新时间:2023-12-04 23:30:42 25 4
gpt4 key购买 nike

我有一个在庞大代码库中跨多个文件导航代码的系统,我想改进/修复它目前存在的一个缺点:

我的 shell 被预先配置为在我的代码库的根目录下打开——我们称之为 Dev/。
在同步/代码构建期间,我有一个脚本,它自动将所有 .h 和 .c 文件的相对路径存储在一个文件中,供 cscope 使用(我们称之为 cscope.files)。

同步后,此文件将更新 - 然后我可以使用 Dev/中的以下命令在 vim 中打开我想要的任何文件:

vif "part of file name",

在哪里
vif:     aliased to vi `grep !:1 cscope.files`

只要我给出的文件名的一部分足够长以唯一标识它,我就可以立即在 vim 中打开它。

现在,这种方法的缺点是,当我已经打开一个文件,并在不退出 vim 的情况下跳转到另一个文件时,我可以这样做的唯一方法是
:!vif *file2*

这会产生一个新的 shell,然后在那里启动的 vim 中打开文件。结果,我无法在两个文件之间切换(使用 Ctrl-^)。我无法提出以下解决方案:

a) 让我立即从 Dev/打开任何文件

b) 让我在同一个 shell 中打开 vim 中的任何其他文件(一旦我打开了一个现有文件),以便 2 个 vim session 相互了解(我可以使用 Ctrl-^ 在 2 个 session 之间跳转)

我知道这是一个很长的问题(一个人如何用谷歌搜索这个 :) ),但我敢打赌,对于更精通 vim 的人来说,解决方案是简单明了的!!

让我知道问题的任何部分是否模糊,我会澄清它......

更新:
在使用快捷方式进行自定义后,我最终采用了 cscope 方式(因为在 cscope.files 上使用 'gf' 仍然阻止我在 2 个源文件之间切换)。见 VIM 7 and cscope: Using "cscope find f" inside a keyboard mapping for switching between files 为捷径。

最佳答案

我认为Vim Fuzzy Finder plugin非常适合您的用例。

顾名思义,使用该插件,您可以使用模糊文本搜索来查找文件。

此外,它也适用于其他 Vim 资源,如缓冲区、标签等。

关于VIM 7 : How to navigate the code source tree from the root of the code base, 以有效的方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5394915/

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