Windows平台如何才能实现双击文件 让文件在显示在已经打开的emacs下面?

大家好,我想请问一下,我在windows想用emacs打开一个文件,但不想有重新启动再emacs程序,想让文件显示在已经打开的emacs程序中。 请问怎么实现呢? 我在网上看了很多很多教程,还是没用成功。 先说一下我的平台win10+emacs25.2 下面是我已经进行了一些相关设置(没有成功)

  1. 在init.el文件中添加了下面的程序 (use-package server :ensure nil :defer t :config (autoload 'server-running-p "server") (unless (server-running-p) (server-start)))
  2. 设置呢两个环境变量 EMACS_SERVER_FILE d:\wo\emacs-sever-file 是自己随便写的一个地址,并且也创建的对应的文件夹,文件夹下面没有任何文件 ALTERNATE_EDITOR c:\emacs\bin\runemacs.exe
  3. 打开文件采用的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

不能关联为emacs打开, 应该关联为emacsclientw.exe来打开

2 个赞