今天在推上,一帮人讨论了emacs如何启动的问题。这个问题我是这么解决的。

这个配置针对三个上下文起作用。Windows,Linux图形,Linux+SSH。在Windows下,不使用alias,因为emacsclient会在找不到server的时候自动启动一个新的emacs。将emacsclient加入到注册表中,就可以对任意文件“使用emacs打开”。

Linux和Linux+SSH中,需要使用alias技巧,因为emacsclient不会在没有server的时候自动启动emacs。过程如下:

首先在系统相关的配置中,加入server-start,以便启动server服务。系统选择上,linux和windows加,console不加,因为后者没什么意义。然后,在系统中加入alias设定。

alias emacsclient="emacsclient -a emacs"

这样,当系统中没有emacs启动的时候,就会启动一个。当有emacs启动后,就会调用这个emacs来打开文件。

在ssh环境下,需要开启x forward。这样就会打开远程emacs。这是比较慢的用法,快的方法是直接在本地emacs上使用tramp。