我希望能够将cscope的输出重定向到Vim的快速修复窗口。粘合部分很容易,但我目前卡在了错误格式上。以下是来自cscope输出的示例(cscope -L -1 bar):
Format: "filename scope linenumber sourceline"
Example: "abc.cpp foo 25 bar()"
这意味着在abc.cpp文件的第25行,foo()函数内部调用了bar()函数。
efm = %f\ %*[^\ ]\ %l\ %m
是可行的,但是范围信息会丢失。例如:
Input: "abc.cpp foo 25 bar()" becomes
Output: "abc.cpp |25| bar()"
我希望在quickfix窗口中包含范围,就像这样:
```html
我希望在quickfix窗口中包含范围,就像这样:
```Input: "abc.cpp foo 25 bar()" becomes
Output: "abc.cpp |25| bar() inside foo()"
只用errorformat能否完成这个功能,还是我需要编写一个脚本来处理输出结果再将其传递给Vim?
:cex
将程序的输出连接到Vim快速修复中。例如::cex system("cscope -L -1 " . expand("<cword>"))<CR>
。个人而言,我将其与cppcheck和vera++一起使用,用于C ++代码的静态分析。 - Thanh DK