大家好,我想请问一下,我在windows想用emacs打开一个文件,但不想有重新启动再emacs程序,想让文件显示在已经打开的emacs程序中。
请问怎么实现呢?
我在网上看了很多很多教程,还是没用成功。
先说一下我的平台win10+emacs25.2
下面是我已经进行了一些相关设置(没有成功)
在init.el文件中添加了下面的程序
(use-package server :ensure nil :defer t :config (autoload 'server-running-p "server") (unless (server-running-p) (server-start)))
设置呢两个环境变量
EMACS_SERVER_FILE d:\wo\emacs-sever-file
是自己随便写的一个地址,并且也创建的对应的文件夹,文件夹下面没有任何文件
ALTERNATE_EDITOR c:\emacs\bin\runemacs.exe
打开文件采用的runemacs.exe。最开始打开的也是该程序。
但是并没有成功啊。。。
这个和emacs没什么关系,只要是server方式就没问题,关键是将特定的扩展名关联到这个命令上:D:\emacs\bin\emacsclientw.exe -n -a d:\emacs\bin\runemacs.exe --server-file d:\emacs\.emacs.d\server\server "%1"
。
看看有没有帮助。 然后关联emacsclientw.exe
之前尝试设置过一次您提供的链接,还是没奏效。我在试试
@jixiuf 您好,我按的您的方法设置了一遍。
当我先打开一个emacs程序,没有问题。当我再双击关联为emacs的文件时,还是又打开一个emacs程序,并且提示下面的warning
Warning (server): Unable to start the Emacs server.
There is an existing Emacs server, named "emacs-server-file".
To start the server in this Emacs process, stop the existing
server or call ‘M-x server-force-delete’ to forcibly disconnect it.
能指导一下是怎么回事吗?
@mayingjun 能指导一下具体怎么使用这个命令吗? 我在CMD下面输入这个程序,就启动了一个新的emacs程序
我写过一个使用vimd进入emacs的帖子,主要是在确认内存中没有emacs进程的时候,进入emacs之前要清理server目录,否则server机制就会失效。看一下这个帖子吧:
https://emacs-china.org/t/windows-emacs-client/1606/17
jixiuf
2017 年5 月 25 日 05:27
10
不能关联为emacs打开, 应该关联为emacsclientw.exe来打开
2 个赞