当前位置:  开发笔记 > 运维 > 正文

便携式Emacs?(Emacs服务器无法正常工作)

如何解决《便携式Emacs?(Emacs服务器无法正常工作)》经验,为你挑选了1个好方法。

我已经看到了一些关于使emacs可移植的建议(在Windows上).我在我的site-start.el中有这个:

(defvar program-dir (substring data-directory 0 -4))

(setq inhibit-startup-message t)
(setenv "HOME" program-dir)

我更改了HOME变量,这样不仅可以读取我的.emacs初始化文件(和其他初始化文件),而且emacs生成的所有内容都将保留在程序目录中,不需要我逐个指定所有内容的路径.

嗯,这很好,但emacs服务器不工作; 我收到错误消息"无法建立连接,因为目标计算机主动拒绝它." 如果我不更改我的HOME var,则emacs服务器可以正常工作.有办法解决这个问题吗?



1> ShreevatsaR..:

请参阅Emacs手册:

当您启动Emacs服务器时(通过调用server-start),Emacs会创建一个文件,其中包含有关与服务器的TCP连接的信息:运行Emacs的主机,它正在侦听的端口以及身份验证字符串.如果需要通过TCP连接到服务器,emacsclient将使用此信息.默认情况下,该文件位于〜/ .emacs.d/server /目录中.您可以指定要与`-f file'或`--server-file = file'选项一起使用的文件名,或者通过将EMACS_SERVER_FILE环境变量设置为文件名.

换句话说:无论你在哪里打电话emacsclient,你都必须告诉使用该文件${program-dir}/.emacs.d/server/,或者使用-f或设置EMACS_SERVER_FILE环境变量.(在你正在启动的环境中emacsclient,而不是在Emacs中.)
[你可以告诉Emacsclient用-s"socket" 查找正确的位置,但这在Windows上不起作用.在Unix上(至少在带有Aquamacs的Mac OS X上)套接字就像 /tmp/emacs501/server(501是我的UID).

[哦,顺便说一下,看看这个问题:我怎样才能拥有便携式Emacs?也许有些东西可以帮到你,或者你可能有东西可以添加到它:-)]

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有