У меня есть псевдоним в ударе, который выполняет emacsclient, если emacs демон уже работает, и запустите emacs иначе. Однако, если новый экземпляр emacs разожжен, я могу заставить его работать в фоновом режиме, таким образом, я могу все еще использовать тот терминал (или закрыть его)? В моем профиле удара я имею
alias ec="/usr/bin/emacsclient.emacs-snapshot -n -c -a /usr/bin/emacs-snapshot"
И я мог бы быть на терминале и типе
$ ec newfile
Если emacs демон уже не работает, там псевдоним, который я могу создать для создания строки выше, делают эквивалент
$ emacs newfile &
вместо
$ emacs newfile
(Я должен также упомянуть, что использую Linux, Ubuntu и emacs-снимок присвоены псевдониму, 'emacs').
Большое спасибо!
Вместо прямого вызова / usr / bin / emacs-snapshot
напишите сценарий, который вызывает / usr / bin / emacs-snapshot
в фоновом режиме, а затем возвращает:
#!/bin/sh
case $# in
0) /usr/bin/emacs-snapshot &
*) /usr/bin/emacs-snapshot "$@" &
esac
Затем вы вызываете сценарий обычным способом; он запустит фоновый процесс emacs и немедленно вернется.
Если вы хотите пофантазировать, вы можете использовать / bin / bash
и отключить
процесс после esac
(получить pid с помощью $ !
).