gpt4 book ai didi

logging - vim 编辑器,使用日志文件导航源代码

转载 作者:行者123 更新时间:2023-12-02 15:31:19 24 4
gpt4 key购买 nike

这个问题可能很抽象,所以提前道歉。

我有一个日志文件,其中包含遵循特定模式的行(文件名、行、函数、跟踪语句)。例如

file1.cpp, 12, function1, "we are in function 1"
file2.cpp, 104, add, "add function"
another_file.cpp, 300, function2, "This is a trace"

我想要的是分割成两个窗口的 vim 编辑器。一个窗口包含日志文件,每次我将光标移动到跟踪行时,另一个窗口都会在正确的代码行中打开真实文件。

例如,在顶部窗口中,我的光标位于行

file2.cpp, 104, add, "add function"

第二个窗口(vim 分为两个窗口)在第 104 行打开 file2.cpp(位于第二个窗口的中心)。

是否有机会使用结构化文件(日志文件)作为源代码的“导航器”?如果是的话,我们如何在vim中做到这一点?如果没有,那就让我们来实现吧! (但我不想重新发明轮子:-))

最佳答案

你所描述的在 Vim 中被称为快速修复窗口。您可能通过 :make 命令的结果熟悉它。您可以使用 :cfile 打开快速修复窗口。格式由 errorformat 变量确定。有关更多详细信息,请参阅 Vim 帮助。

对于您的示例(文件名、行、函数、跟踪语句),您可以这样做:

:set errorformat=%f\\\,\\\ %l\\\,\\\ %m
:cfile log.txt

无故的三个反斜杠是为了绕过 :set 命令中的转义序列。格式转换为%f\,\%l\,\%m

或者,您可以以 gcc 格式输出日志。在这种情况下,默认的 errorformat 将能够解析它,您所要做的就是使用 :cfile 命令打开它。

加载完成后,您可以使用:clist:copen查看日志。

关于logging - vim 编辑器,使用日志文件导航源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6608360/

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