在 VIM 中执行 shell 命令时,它会等待命令完成。您可以按Enter切换回 VIM,但它只会在命令完成后切换回。如果 shell 任务运行时间较长,返回 VIM 继续工作会更有利,稍后再检查 shell 输出。
什么是最简单的方法:
:!jshint %):!)您可以执行任何命令,就像在普通 shell&中一样将其发送到后台:
:! (long_running command) &
Run Code Online (Sandbox Code Playgroud)
并返回到 vim。
虽然你应该注意,如果命令确实输出了一些东西,它会让 vim 看起来很乱。如果您的命令没有输出任何内容,我认为您应该没问题。
如果您的命令确实输出文本,您可以考虑:
:! (long_running command >output 2>&1) &
Run Code Online (Sandbox Code Playgroud)
如果你想在一个文件中拥有stdout以及stderr
:! (long_running command >output.stdout 2>output.stderr) &
Run Code Online (Sandbox Code Playgroud)
如果您希望它们在单独的文件中。