J'aimerais utiliser EmacsClient pour modifier des courriels en mutt.
J'ai ajouté cela dans .emacs
(server-start)
Et dans .muttrc j'ai ajouté
set editor="emacsclient -nw %s"
Il semble qu'ils travaillent. Lorsque je démarre un deuxième emacs, il se plaint Il y a déjà un serveur en cours d'exécution afin qu'il utilise des erreurs. Comment vous assurer de faire (server-start)
Seulement si le serveur n'est pas déjà démarré?
Merci
Le démon Emacs peut être démarré automatiquement de manière très simple. Il suffit d'ajouter ceci à votre .bashrc/.zshrc/peu importe
export ALTERNATE_EDITOR=""
Maintenant, lorsque vous invoquez emacsclient
(en utilisant soit --tty
ou --create-frame
) Le serveur sera démarré (avec emacs --daemon
) Si ce n'est pas déjà en cours d'exécution.
Je trouve aussi cet alias Shell Handy:
alias e='emacsclient --tty'
Notez que depuis que EMACSS 23, c'est le moyen préféré d'utiliser Emacs en mode Daemon. (start-server)
est maintenant principalement obsolète.
Ce code commence le serveur uniquement s'il ne s'exécute pas:
(load "server")
(unless (server-running-p) (server-start))
Un peu de réponse tardive, mais voici la solution qui fonctionne pour moi. Chaque fois que je commence EmacsClient, j'utilise emacsclient -a '' -c
Les -a ''
Indique EmacsClient à tenter de se connecter à un serveur existant, et si aucun serveur n'existe, commencez-y, puis connectez-le.
Évitez le problème alloueur via
emacs --daemon
dans n'importe quel coquille ou terminal de sorte que EMACS fonctionne à l'arrière-plan. De cette façon emacsclient
est toujours heureux car il y a toujours un serveur EMACS à se connecter.
Ceci étant EMACS, il existe également une fonction qui commence le serveur uniquement si nécessaire, mais je ne peux pas vous rappeler tout ce nom maintenant. Je utilise le --daemon
option heureusement heureux moi-même.