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