Fork me on GitHub

以daemon方式启动emacs

03 Dec 2014

将以下内容添加到.zshrc或者.bashrc,取决于你用什么shell

# alias emacs

alias emacsd='emacs --daemon'
alias e='emacsclient -t'
alias ec='emacsclient -c'

# run emacs daemon

[[ -z $(ps -C 'emacs --daemon' -o pid=) ]] && emacsd

# add kill emacs function

function kill-emacs(){
    emacsclient -e "(kill-emacs)"
    emacs_pid=$( ps -C 'emacs --daemon' -o pid= )
    if [[ -n "${emacs_pid}" ]];then
        kill -9 "${emacs_pid}"
    fi
}

打开终端会自动运行emacsd启动emacs daemon server。后面都使用ec来编辑文件,使用c在终端编辑文件。

emacs daemon模式下emacs会一直在后台以服务的方式运行,ec会启动一个客户端连接到这个服务。所以会非常快。

当你插件非常多时,启动一次是很耗时的。我的emacs daemon启动一次大概要20s,但使用ec都是瞬开。

关闭emacs,在终端调用kill-emacs即可。