我使用了一些自定义命令五指龙启动外部程序。例如,我映射了一个命令,该命令下载 Youtube 视频,将其转换为 MP3 并将其移动到我的硬盘上的正确文件夹。
由于这通常需要大约 1 分钟的时间,因此我通常会切换到桌面上的另一个窗口。但是,一旦外部程序完成,Pentadactyl 就会弹出。我认为这可能是由于外部程序产生的控制台输出,但即使我尝试将 stdio 和 stderr 重定向到 /dev/null,或者通过“&”在后台运行该进程,我也会得到相同的结果。
是否有可能阻止 Pentadactyl 的出现?
答案1
我很久没有使用过 Pentadactyl 了,目前也没有安装它,但是看了他们的文档:
摘抄:
:!{cmd}
Run an external command. Runs {cmd} through system() and displays its output. Any ‘!’ in {cmd} is replaced with the previous external command, so long as it is not preceded by a backslash and 'banghist' is enabled.
:sil:silent:sil[ent] {command}
Execute a command silently. Normal messages and error messages generated by the command invocation will not be displayed and will not be added to the message history.
如果您现在使用!{cmd}
并获得输出,也许:sil {cmd}
会按照您想要的方式工作?
或者,:verb {cmd}
:
:[count]verb[ose] {command}
Execute a command with 'verbose' set to [count]. If [count] is not specified then 1 is used.
可能是更好的选择。