Lorsque je souhaite basculer entre les programmes sous Windows, j'utilise généralement la touche Windows plus une touche numérique pour exécuter un programme à partir de ma barre des tâches. La plupart des programmes démarrent ou, s'il existe déjà une instance, la mettent au premier plan et se concentrent dessus. Mais Emacs (démarré avec runemacs.exe) créera une nouvelle entrée dans la barre des tâches, et l'utilisation du raccourci à nouveau ne fera que créer une nouvelle instance. Pour autant que je sache, je ne peux même pas basculer entre les différentes images en utilisant les commandes Emacs (j'ai essayé Cx 5 o).
Existe-t-il un moyen de faire en sorte que les utilisations ultérieures des raccourcis clavier Windows utilisent uniquement l'instance existante d'Emacs et, sinon, puis-je au moins le faire pour pouvoir naviguer facilement entre les différents cadres? J'ai essayé cet extrait:
(require 'server)
(unless (server-running-p)
(start-server))
de la réponse à cette question , mais cela n'a pas fait de différence.
la source
emacsclientw.exe
runemacs.exe
un autre éditeur, vous pouvez appeleremacsclientw.exe
même si aucun serveur d'édition n'est en cours d'exécution.Réponses:
Ajoutez ceci à votre fichier init pour vous assurer qu'un serveur d'édition est créé au démarrage d'emacs
Faites maintenant pointer votre raccourci Windows
emacsclientw.exe
comme suit:Cela devrait concentrer une trame Emacs existante (le cas échéant), sinon appeler
runemacs.exe
autrement. (Merci à Vamsi pour son aide dans le réglage des paramètres de commande)la source
-c
indicateur résout-il ce problème?C:\path\to\emacsclientw.exe -n -e "(raise-frame)" -a "C:\path\to\runemacs.exe"
pour éviter de créer un nouveau cadre et augmenter le cadre précédent.-c
volonté s'attend-il également à ce qu'un fichier soit visité? (Si vous ne pouvez pas dire que je ne suis pas sur une machine Windows en ce moment.)-c
tant qu'il a l'-e
expression.Je suis tombé sur une autre réponse au problème sur SuperUser aujourd'hui. Cela semble plus hackish, mais le résultat est plus cohérent avec d'autres programmes sur Windows.
la source
Properties
vous pouvez également définir leStart in
répertoire et ouvrir Emacs dans un fichier ou un répertoire particulier. (Je démarre Emacs avec Dired dans leStart in
répertoire. IOW, je passe le même dir ("
-quoted) que l'argument àrunemacs
.)