如果 emacs 守护进程已经在运行,我在 bash 中有一个运行 emacsclient 的别名,否则启动 emacs。但是,如果启动了新的 emacs 实例,我能否让它在后台运行以便我仍然可以使用该终端(或关闭它)?在我的 bash 配置文件中,我有
alias ec="/usr/bin/emacsclient.emacs-snapshot -n -c -a /usr/bin/emacs-snapshot"
我可能在终端输入
$ ec newfile
如果 emacs 守护进程还没有运行,我可以创建一个别名来使上面的行相当于
$ emacs newfile &
代替
$ emacs newfile
(我还应该提到我正在使用 Linux Ubuntu 并且 emacs-snapshot 被分配给别名“emacs”)。
非常感谢!
最佳答案
而不是调用 /usr/bin/emacs-snapshot
直接写一个脚本调用/usr/bin/emacs-snapshot
在后台然后返回:
#!/bin/sh
case $# in
0) /usr/bin/emacs-snapshot &
*) /usr/bin/emacs-snapshot "$@" &
esac
然后你用普通的方式调用脚本;它将启动后台 emacs 进程并立即返回。
如果你想要花哨的,你可以使用/bin/bash
和 disown
esac
之后的过程(使用 $!
获取 pid)。
关于linux - 创建在后台启动的 emacs 别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2277104/