在 shell 命令完成之前切换回 VIM

在 shell 命令完成之前切换回 VIM

在 VIM 中执行 shell 命令时,它会等待命令完成。您可以按Enter切换回 VIM,但只有在命令完成后才会切换回。如果 shell 任务运行时间较长,则返回 VIM 继续工作,稍后再检查 shell 输出会更有利。

最简单的方法是什么:

  1. 运行 Shell 命令 ( :!jshint %)
  2. 在命令完成之前切换回 VIM。
  3. 稍后再检查输出。(我发现最简单的方法是:!

答案1

您可以执行任何命令,就像在普通 shell 中一样&将其发送到后台:

:! (long_running command) & 

然后返回 vim。

不过你应该注意,如果命令确实输出了某些内容,那么 vim 就会看起来很乱。如果你的命令没有输出任何内容,我认为你应该没问题。

如果您的命令确实输出文本,您可以考虑:

:! (long_running command >output 2>&1) &

如果你想在一个文件中stdout拥有stderr

:! (long_running command >output.stdout 2>output.stderr) &

如果您希望将它们放在单独的文件中。

相关内容