我发现自己经常(在对源代码进行一些更改后)“ Ctrl+ C; ↑ing”来重新启动更改后的程序。
有没有一种方法可以更快地完成此操作,而无需将程序包装在循环中并每次都退出?
答案1
如果您不想使用循环,您的选择就会受到限制,因为它本质上阻止了一次又一次自动重新启动程序。
不过,您至少可以↑通过使用accept-and-hold
小部件来省去这个步骤。这会运行当前命令行(就像accept-line
通常绑定到 一样Enter),但也会将其推送到缓冲区堆栈上,以便在下一个提示时自动拉出它(实际上,该命令在执行后仍保留在提示符上)。默认情况下它绑定到Alt+ ainemacs模式,但它可以轻松绑定到另一个快捷方式。例如对于Ctrl+ F(因为F就在上面C:
bindkey "^F" accept-and-hold
因此,您只需使用Ctrl+启动程序F,然后按Ctrl+ C, Ctrl+F停止并重新启动它。
答案2
除了使用控制代码手动重新启动之外,您还可以考虑使用专门设计用于自动执行此类过程的系统,即在代码更改后(重新)启动进程,例如守望者。
您还可以使用inotifywait
(来自 inotify-tools)来通知表示源代码的文件何时更改,并在更改时发送信号。
(利益冲突披露:我在 Facebook 工作,但不在守望者团队工作。)