Forme courte: je veux exécuter la version Mac OSX d'Emacs trouvée sur http://emacsformacosx.com/ en tant que démon, avec des clients graphiques et texte s'y connectant selon les besoins.
En détail, voici le workflow que je souhaite:
Lors de la connexion, exécutez
/Applications/Emacs.app/Contents/MacOS/Emacs --daemon
pour démarrer emacs en tant que démon. Je sais déjà comment faire ça .Lorsque vous exécutez emacs à partir d'un terminal local, je veux l'un des deux:
- Si je cours à
emacs
partir d'une invite de commande locale, ouvrez un nouveau cadre avec le fichier sélectionné. - Si # 1 n'est pas possible, au moins si je cours
emacsclient
depuis la ligne de commande, ouvrez un nouveau cadre avec le fichier sélectionné.
- Si je cours à
Lors de l'exécution d'emacs à partir d'un terminal distant, j'aimerais qu'un emacs en mode texte démarre, connecté au processus démon.
Si je lance,
Emacs.app
réutilisez le démon emacs qui s'exécute en arrière-plan au lieu de démarrer une nouvelle instance et d'ouvrir une nouvelle fenêtre dessus.
Jusqu'à présent, je ne peux accomplir que # 1 et # 2.2 ci-dessus, mais ce sont les parties faciles. # 3 et # 4 sont les choses les plus nécessaires pour que cela fonctionne. Quelqu'un sait-il comment accomplir ces choses?
M-x server-start
pour mettre un emacs démarré sans--daemon
en mode serveur. Bonnes questions, BTW.(server-start)
votre .emacs pour qu'il démarre lorsque vous lancez emacsaRéponses:
Oui, vous voudrez utiliser emacsclient. Pour obtenir un nouveau cadre, ajoutez l'option -c. J'ai un alias pour le rendre plus rapide et pour dire à emacsclient de ne pas attendre le retour du serveur emacs:
emacsclient -nw
em
alias.Mise à jour:
Découvrez cette astuce expliquant comment utiliser Platypus pour créer un wrapper d'application autour d'emacsclient. Vous pouvez ensuite utiliser "Ouvrir avec ..." pour lancer en utilisant votre nouveau wrapper d'application.
la source
Oui, voici une explication assez complète sur la façon de procéder correctement. J'ai essayé plusieurs méthodes pour le faire fonctionner correctement, mais pas mieux que ce qu'elles ont décrit ici.
https://gist.github.com/304964
À votre santé!
la source
Pour 4. mettez ceci dans votre .emacs:
La solution de création d'un Mac .app (avec Platypus) ne fonctionne pas car Mac n'ouvrira pas deux fois la même application.
la source
open -a Emacs.app
est certainement ce que je fais, mais pour être ouvert dans le même fond d'instance / démon d'un emacs existant, j'ai besoin d'écrire(setq ns-pop-up-frames nil)
dans mon.emacs
comme je l'ai écrit dans ma réponse. Sinon, il crée quand même une nouvelle fenêtre, avec ou sans-n
.