我试图从VS代码跳到纯粹的终端+vim开发,我缺少了一个我经常使用的VS代码的效率提升器。当我make
一些项目,并且存在错误时,stdout显示了到有错误的源文件的路径,沿着行:列号。在VS代码终端中,我可以用鼠标左键单击它,它将打开VS代码文本编辑器(当然启用了VIM模拟器),到那个位置。在终端和/或vim中有类似的时间节省吗?也就是说,一些东西可以让我直接从制造错误到编辑vim中的那个位置,而不是阅读错误日志,记住路径:行:列并手动打开那个文件?
例如,假设我在make输出中有以下行:
/home/myusername/someProject/src/foo.c:30:5: warning: implicit declaration of function 'bar'; did you mean 'barr'? [-Wimplicit-function-declaration]
30 | bar(26);
| ^~~~~~~~~~~~~
| barr
有没有什么简单的方法可以跳转到/home/myusername/someProject/src/foo.c:30:5,而不用鼠标突出显示它并复制/粘贴它?
到目前为止,我在SO上找到的最接近的东西是this,但我猜make输出将捕获只有在尝试编译后才会发生的错误,而像Syntastic这样的实时工具只会捕获语法错误。我还没有使用Syntastic,但我猜他们捕获的是一些项的并集。但是在后台连续编译以检查编译错误显然代价太高。
我也注意到了错误本身,IidoEe. -Wimplicit-function-declaration
是超链接。也许make/cmake中也有一些设置来为src文件生成链接?
1条答案
按热度按时间fhg3lkii1#
用户手册 * 是您认真使用Vim时的必读书目 *,其中有整整一节专门介绍编译:
:help 30.1
.总而言之...
:help :compiler
命令选择Vim所谓的"编译器":它告诉 vim :
:help :make
命令:它告诉 vim :
:help quickfix
功能来显示、导航最终错误并与之交互:FWIW,Vim在C中有很强的根基,它到处都是,因为运行
make
是:make
命令的默认行为,默认的:help 'errorformat'
已经处理了大多数常见的C编译器,所以:然后是:
在您当前项目中,应该可以让您体验到预期的效果:
现实生活中的考虑...
$VIMRUNTIME/compilers
。