То, как я могу обнаружить тот emacs-сервер, работает от приглашения оболочки?

Если Вы перейдете к Справке->'About Eclipse Platform' и нажмете на кнопку 'Configuration Details', то это займет некоторое время для отображения, но Вы получаете дамп всего, для чего затмение настроено...

я нашел, что эти 2 строки были тем, что Вы ищете:

-vm

C:\Program Files\Java\jdk1.6.0_10\bin..\jre\bin\client\jvm.dll

11
задан Chris R 2 October 2009 в 16:06
поделиться

2 ответа

Вы слишком усложняете задачу. Из справочной страницы emacsclient (1) :

-a, --alternate-editor = EDITOR если сервер Emacs не запущен, запустите вместо него указанный редактор. Это также можно указать через переменную окружения ALTERNATE_EDITOR. Если значением EDITOR является пустая строка, то Emacs запускается в режиме демона и emacsclient пытается подключиться к нему.
11
ответ дан 3 December 2019 в 02:30
поделиться

Я могу придумать несколько способов, ни один из них не надежный:

function emacs_server_is_running()
{
    ps -ef | grep emacsserver | grep -v grep > /dev/null
}

function emacs_server_is_running()
{
    netstat -a | grep esrv > /dev/null
}

Или вместо того, чтобы устанавливать это при запуске оболочки (в конце концов, сервер может умереть или сервер может запуститься после входа в систему), почему бы не сделать проверку, когда вам нужно что-то отредактировать:

EDITOR=$HOME/emacs_try_client_first
VISUAL=$HOME/emacs_try_client_first

где $ HOME / emacs_try_client_first может быть таким же простым, как

#!/bin/sh
# emacs_try_client_first
emacsclient $@ || emacs $@
3
ответ дан 3 December 2019 в 02:30
поделиться