如何消除bash/zsh中前后台作业的换行式续停提示信息?
我太懂这种烦躁了!每次切换Vim前后台,那些[1] + XXXX continued/suspended nvim的提示占满屏幕,之前的命令结果都被顶没了,得翻半天才能找到。这里给你几个实用的解决办法,按需求选就行:
方法1:临时/永久关闭Shell的任务监控提示
这个方法直接让Shell不再输出这些切换状态消息:
- Bash用户:在终端里执行
set +m,立刻就不会再看到那些提示了。如果想永久生效,把这行加到你的~/.bashrc文件末尾,下次启动Shell自动生效。注意:关闭监控模式后,后台任务跑完时也不会给你通知了,要是你需要后台任务完成提醒,这个方法可能不太适合。
- Zsh用户:执行
setopt no_monitor临时关闭,永久生效的话把这行加到~/.zshrc里。
方法2:静默切换前后台(保留任务监控)
如果你不想关闭任务监控,只是不想看到切换时的提示,可以把切换命令的输出重定向到/dev/null:
把后台的Vim调回前台时,不用直接敲
fg,而是用:fg %1 > /dev/null 2>&1把Vim放到后台时,用:
bg %1 > /dev/null 2>&1这里的
%1是指第一个后台任务,如果你只有Vim一个后台任务,直接fg/bg加重定向也可以:fg >/dev/null 2>&1嫌敲太长?可以给它们加别名,比如在
~/.bashrc或~/.zshrc里加:alias fgq='fg > /dev/null 2>&1' alias bgq='bg > /dev/null 2>&1'之后用
fgq和bgq切换,就不会有任何提示了。
方法3:彻底告别前后台切换(推荐!)
其实你根本不用切换前后台——Vim自带了直接打开Shell的功能!在Vim编辑时,输入:shell,就能进入当前Shell,执行你的命令生成结果文件,完成后输入exit或者按Ctrl-D,瞬间回到Vim的编辑界面。整个流程完全不用切换前后台,自然就不会有那些烦人的提示了,效率还更高!
内容的提问来源于stack exchange,提问作者Kevin Burke
相关产品推荐
相关产品推荐

