You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Vim中隐藏:!command命令输出并让其后台运行

在Vim中隐藏Shell命令输出并后台运行的方法

刚好我之前也折腾过这个需求,给你几个实用的方案,完美解决看不到输出、不用按回车、命令后台跑的问题:

  • 用:silent配合Shell重定向
    这是最直接的写法,把命令改成这样:

    :silent !your_command > /dev/null 2>&1 &
    

    拆解一下各个部分的作用:

    • :silent:告诉Vim不要显示命令执行后的提示信息(就是那个烦人的“Press ENTER or type command to continue”)
    • > /dev/null:把命令的标准输出(正常打印的内容)丢弃掉
    • 2>&1:把命令的错误输出(比如报错信息)也重定向到和标准输出一样的地方(也就是/dev/null),确保完全看不到任何输出
    • &:让Shell命令在后台运行,不会阻塞你的Vim操作
  • 用Vim内置的system()函数
    如果是在Vim脚本里调用,或者想更简洁,可以用这个函数:

    :call system('your_command > /dev/null 2>&1 &')
    

    system()函数本身就不会触发Vim的提示框,加上重定向和后台符号后,同样能实现完全静默的后台执行。

小提示

如果是在Windows系统上,把/dev/null换成NUL就行,其他部分用法一致。另外要确保你的命令不需要交互(比如输入密码之类的),后台运行的交互命令可能会卡住或者出问题哦。

内容的提问来源于stack exchange,提问作者Hanlon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:02:58