GNU Emacs支持server/client这种运行方式。就类似的,UltraEditor,双击打开多个文档时,能够共用一个程式进程,每次打开文档只是在已有进程下创建一个文档标签。这个功能对于Emacs来说十分有用,因为作为研发环境,许多人的Emacs并不单纯是Emacs,也许更有ECB,也许更有CEDET,也许更有cscope等等。这些东东,每次启动Emacs都会加载半天的。但我们假如使用Server/Client方式,将只需要启动一次Emacs,以后每次打开文档,只是在已启动好的Emacs进程下创建一个Buffer。
首先,我们必须配置一个环境变量:
EMACS_SERVER_FILE=C:\.emacs.d\server\server
这个变量指定了emacsclient默认去寻找的server文档。而我们指定的这个文档,是emacs server创建的默认server文档。
接下来,修改C:\.emacs文档。这个文档是Emacs的默认配置文档。在里面加入一行:
(server-start)
这样,每次启动Emacs的时候,就自动启动server了。假如您想手动启动server,也能够启动emacs后手动执行:
M-x server-start
好了,现在让我们启动Emacs,执行runemacs命令。
然后在资源管理器中找到您要打开的文档,用“Open with...”->“Change program”打开,然后选择emacsclientw.exe程式,勾上“Always use selected program to open this kind of file”(不好意思,现在公司用的是E文版的XP……)。
以后您就能够每次双击文档,都用同一个Emacs打开了。注意,要先启动runemacs哦。当然,您也能够写个bat脚本来自动判别(流程是判断C:\.emacs.d\server\server,若无,启动runemacs,若有,启动emacsclientw)。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



