4

Я хочу зарегистрировать emacs с расширениями файлов в Windows, но должен быть открыт только один экземпляр emacs, даже если я открываю несколько файлов через их расширения.

Я установил emacs из emacs-22.3-bin-i386.zip, распаковав в c:\bin\emacs в системе Windows Server 2003 (32-разрядная версия)

Я создал скрипт c:\bin\emacs\bin\emacs-filetarget.cmd

@echo off
"%~dp0emacsclientw.exe" -na "%~dp0runemacs.exe" "%1"

Когда я открываю первый файл * .el с помощью c:\bin\emacs\bin\emacs-filetarget.cmd, он открывается в новом экземпляре emacs, что нормально.

Но второй файл * .el открывается во втором экземпляре emacs. Я ищу способ иметь только один экземпляр Emacs, где открываются все последующие файлы.

1 ответ1

7

Вы должны убедиться, что сервер emacs запущен. Добавьте следующее в ваш файл .emacs:

(server-start)

А затем всегда используйте 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

Экземпляр runemacs вызван тем, что emacsclientw требует, чтобы вы указали имя файла.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .