使用quickfix在Vim中编译Perl

sid*_*yll 5 vim perl

好吧,这不是关于完全编译,但最近我:compiler在Vim中发现了命令.帮助包含在quickfix文档中,正如我所理解的那样,我可以运行:

:compiler perl
Run Code Online (Sandbox Code Playgroud)

选择perl解释器.然后,帮助说:

Perl编译器插件实际上没有编译,但调用Perl的内部语法检查功能并解析输出可能的错误,以便您可以在快速修复模式下更正它们.

但由于目前尚不清楚我应该如何实际运行该程序.:make即使没有make文件,我可以运行吗?这对我来说很有意义,因为:

echo &makeprg
Run Code Online (Sandbox Code Playgroud)

退货perl -Wc %.然而…

在虚假测试程序上执行此操作,仅返回标准错误格式输出,不会打开quickfix窗口.我在这里错过了什么?

seh*_*ehe 4

只需打开快速修复窗口

:copen
Run Code Online (Sandbox Code Playgroud)

导航错误

:crew
:cnext
:cprev
Run Code Online (Sandbox Code Playgroud)

请注意,使用非项目make(即 makeprg 变量通常包含当前缓冲区的名称(扩展%))的快速修复的一个常见陷阱是,当焦点位于快速修复窗口上时,:make再次发出将失败,因为快速修复缓冲区没有与之关联的文件名。也许可以通过在 vim 的 Perl 编译器模式等中为快速修复窗口提供一个人工名称来解决这个问题?