J'ai récemment acheté mon premier Mac en une décennie et je suis en train de le configurer. Je suis un utilisateur Emacs et j'ai déterminé que je veux juste des Emacs ordinaires et non des Aquamacs afin de pouvoir utiliser ma configuration existante à partir d'autres systèmes d'exploitation. J'ai essayé de suivre de nombreux tutoriels que j'ai trouvés en ligne (comme celui-ci , celui-ci et celui-ci sur le site à partir duquel j'ai téléchargé Emacs ), et j'ai essayé de combiner les pièces de plusieurs façons, mais je n'ai jamais a mis les choses dans un état s'approchant même de ce à quoi je suis habitué / j'espère:
- Un démon Emacs démarre en cours d'exécution au démarrage ou dès que j'en ai besoin ; n'importe quel. Toutes les nouvelles trames Emacs sont soutenues par le même serveur.
- Lorsque j'ouvre un fichier texte à partir du Finder, le fichier s'ouvre dans Emacs, dans un cadre graphique existant si possible.
- Si j'exécute Emacs.app, le système réutilise 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. ( pointe du chapeau )
- Lorsque j'exécute Emacs à partir d'un terminal, le terminal vaque à ses affaires sans attendre que je termine avec Emacs (sauf si j'utilise '-nw')
- AFAIK à aucun moment au cours des opérations décrites ci-dessus, Emacs ne devrait se retrouver dans un état ("mode d'édition de serveur?") Où il m'attend pour taper
C-x #
, bien que je n'ai pas une compréhension approfondie de celui-ci. - (Je considérerais cela comme un bonus) Il existe un moyen pour moi d'invoquer Emacs à partir d'un terminal afin qu'Emacs réutilise un cadre existant si possible.
Comment pourrais-je configurer Emacs pour qu'il se comporte comme ça?
Je suis particulièrement perplexe en amenant le Finder à ouvrir les choses dans Emacs comme je le souhaite (# 2), car les guides que j'ai trouvés créent généralement un certain nombre d'alias, d'Applescripts, de scripts bash, etc. et je ne suis pas sûr que je veux dire au Finder d'utiliser pour ouvrir des fichiers texte.
Merci!
A. @lawlist demande: "Un nouveau cadre est-il ouvert par défaut lorsque vous ouvrez un nouveau fichier à partir du terminal même s'il existe un cadre existant?" La réponse est que si je démarre un serveur au démarrage comme décrit ici , ouvre un cadre, puis ouvre un fichier en tapant /Applications/Emacs.app/Contents/MacOS/bin/emacsclient -n <whatever>
, je peux obtenir le fichier à ouvrir dans un cadre existant. S'il n'y a aucun cadre actuellement ouvert, je dois utiliser "-nc" ou lorsque j'essaye d'ouvrir un fichier, rien ne se passe.
B. @lawlist demande: "Voulez-vous que le démon s'exécute à la connexion, ou serait-il suffisant de charger Emacs manuellement après la connexion?" Courir manuellement serait bien.
M-x server-start
démarrera manuellement le serveur afin de emacsclient
pouvoir communiquer avec lui. J'ai placé (server-start)
mon init.el
fichier au lieu d'utiliser un démon à la connexion - cependant, beaucoup de gens préfèrent l'option de connexion au démon. Et bien sûr, le .emacs
fichier serait un endroit approprié pour (server-start)
.
ns-find-file
- qui est activé automatiquement lorsqu'un fichier est associé à Emacs.app. Ma fonction de fichier d'interception dans les liens ci-dessus modifie également ns-find-file
si c'est quelque chose qui vous intéresse. Bien sûr, vous avez besoin de construire Emacs --with-ns
.