mit*_*mit 4 windows emacs emacsw32
我想在 Windows 上使用文件扩展名注册 emacs,但应该只打开一个 emacs 实例,即使我通过它们的扩展名打开了多个文件。
我已经从 emacs-22.3-bin-i386.zip 通过解压到 c:\bin\emacs 在 windows server 2003 系统(32 位)上安装了 emacs
我创建了一个脚本 c:\bin\emacs\bin\emacs-filetarget.cmd
@echo off
"%~dp0emacsclientw.exe" -na "%~dp0runemacs.exe" "%1"
Run Code Online (Sandbox Code Playgroud)
当我用 c:\bin\emacs\bin\emacs-filetarget.cmd 打开第一个文件 *.el 时,它会在一个新的 emacs 实例中打开,这很好。
但是第二个文件 *.el 在第二个 emacs 实例中打开。我正在寻找一种方法,只打开一个 emacs 实例,其中所有后续文件都打开。
您需要确保 emacs 服务器已启动。将以下内容添加到您的 .emacs 文件中:
(server-start)
Run Code Online (Sandbox Code Playgroud)
然后总是使用 emacsclientw.exe 来启动 emacs。
作为参考,我使用了一个 emacs.cmd 文件,它看起来像这样:
@echo off
if "%1"=="" goto nofile
start "" "c:\emacs\bin\emacsclientw.exe" -n %*
goto end
:nofile
start "" "c:\emacs\bin\runemacs.exe
:end
Run Code Online (Sandbox Code Playgroud)
“runemacs”实例是因为 emacsclientw 要求您指定文件名。