Vim lint 检查 - 仅在出现错误时显示消息

Nat*_*ong 5 vim

我的 中有这一行.vimrc,这意味着“当我保存 .rb 文件时,运行它ruby -c”(ruby 解释器的错误检查)。

autocmd BufWritePost *.rb !ruby -c <afile>
Run Code Online (Sandbox Code Playgroud)

当我保存该文件时,我总是在屏幕底部看到输出,所以我习惯了它并开始忽略它。我想要的是仅在出现错误时才看到输出。

我可以看到,当出现错误时,在显示错误是什么之后,在底部显示“shell returned 1”。

如何修改这一行,使其仅在 shell 返回 1 时显示一条消息?有没有办法有条件地抑制在 vim 中运行的 shell 命令的输出?

gal*_*han 2

你绝对应该看看Syntastic 插件。它在保存时自动检查当前缓冲区中文件的语法,支持许多文件类型(开箱即用的 ruby​​、python、php 等),并且完全满足您的需要 - 它仅在出现错误时显示输出。