Запуск Emacs только один раз с разными файлами в Windows

823
mit

Я хочу зарегистрировать 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, где открываются все последующие файлы.

4

1 ответ на вопрос

7
Terje Mikal

Вы должны убедиться, что сервер 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 требует, чтобы вы указали имя файла.