Você não precisa nem testar se o emacs já está em execução ou não. emacsclient
pode iniciar o daemon emacs se ele ainda não estiver em execução. De emacsclient(1)
:
-a, --alternate-editor=EDITOR
if the Emacs server is not running, run the specified editor
instead. This can also be specified via the 'ALTERNATE_EDITOR'
environment variable. If the value of EDITOR is the empty
string, run 'emacs --daemon' to start Emacs in daemon mode, and
try to connect to it.
Eu uso um alias, ge
, para editar arquivos, definidos assim:
alias ge="emacsclient -c -n --alternate-editor=\"\""