命令行下启动emacs的最高效而通用的方式是什么?

对于Vim而言,我一般覆盖系统的vi命令,这样每次启动只需输入两个字母。

那么Emacs呢?

阅读 13.4k
3 个回答

将以下内容添加到.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即可。

在 .bashrc 中添加

alias e="emacs -nw"

daemon server
不过真正的emacser一旦打开emacs之后从来不关闭,所以不需要第二次启动,这非常高效

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进