有没有办法看到前一个":!g ++%"的输出而不重新运行?

kir*_*gum 5 vim

编码时,我喜欢通过运行来检查代码:! g++ %.我将命令映射到<F5>.有时需要一段时间来编译,我想看到错误而不花时间重新编译.此外,有时我想将新输出与之前的输出进行比较.

有没有办法看到以前的输出:! ...

Mic*_*ski 3

如果您已g++配置makeprg,则可以使用:copen命令重新打开最后的错误列表:make

set makeprg=g++\ %
Run Code Online (Sandbox Code Playgroud)

然后,编译,使用

:make
Run Code Online (Sandbox Code Playgroud)

编译完成后,任何错误都会在快速修复窗口中列出,该窗口(假设errorformat配置正确)可用于跳转到发生错误的行。这对于 C/C++ 通常是开箱即用的。

如果您关闭快速修复窗口,请使用以下命令检索最后一个错误列表

:copen
Run Code Online (Sandbox Code Playgroud)

查看:help quickfix:help makeprg了解其工作原理的完整细节。

  • 使用 `:colder` 和 `:cnewer` 在快速修复列表中移动。有关详细信息,请参阅“:h fastfix-error-lists”。 (2认同)
  • 由于快速修复功能,使用 :make 绝对是最好的解决方案。如果当您只更改一个文件时 make 需要很长时间,也许您可​​以更改您的 Makefile。 (2认同)