如何在Gvim内部的后台运行进程



实际上,我需要做的是在GVim中从插入模式启动的进程中执行CTRL-Z

我的命令:Cdprun执行cdprun.sh,它运行一个sudo ed守护进程。我可以在sudo-ed守护进程调用的末尾添加&,以便在后台运行,这很有效,但不会提示用户输入密码。相反,我只想退出CTRL-Z,但键盘中断不起作用。有什么想法吗?Thx。

在这种情况下,您通常有两个选项:generic使用@Nicalas Martin提到的类似vim addon async的东西,或者使用内置解释器支持的vim:带有expect模块的tcl、带有pyexpect的python、带有expect的perl,也许还有其他东西(注意:所有提到的包都没有附带tcl/python/perl)。第二是具体到目前的情况:它是另一个地方的背景。根据你的解释,我猜你有一个看起来像的脚本

#!/bin/sh
<...>
sudo run-daemon --daemon-args # Last executed line

,我说得对吗?你可以把背景放在另一个地方:而不是

sudo run-daemon --daemon-args &

,但

sudo sh -c "nohup run-daemon --daemon-args &"

这里有一个处理vim中异步命令的脚本。不是一个完美的解决方案,但可能是一个很好的临时解决方案。http://www.vim.org/scripts/script.php?script_id=3307

最新更新