Cuando quiero cambiar entre programas en Windows, normalmente uso la tecla de Windows más una tecla numérica para ejecutar un programa desde mi barra de tareas. La mayoría de los programas comenzarán a ejecutarse o, si ya hay una instancia, póngala en primer plano y concéntrese en ella. Pero Emacs (comenzó con runemacs.exe) creará una nueva entrada en la barra de tareas, y usar el acceso directo nuevamente creará una nueva instancia. Por lo que puedo decir, ni siquiera puedo cambiar entre los diferentes cuadros usando los comandos de Emacs (probé Cx 5 o).
¿Hay alguna manera de hacerlo para que los usos posteriores de las teclas de acceso rápido de Windows solo usen la instancia existente de Emacs y, si no, puedo al menos hacerlo para que pueda navegar fácilmente entre los diferentes marcos? Probé este fragmento:
(require 'server)
(unless (server-running-p)
(start-server))
de la respuesta a esta pregunta , pero no hizo la diferencia.
fuente
emacsclientw.exe
runemacs.exe
como editor alternativo, puede llamaremacsclientw.exe
incluso cuando no hay ningún servidor de edición en ejecución.Respuestas:
Agregue esto a su archivo init para asegurarse de que se crea un servidor de edición cuando se inicia emacs
Ahora haga que su acceso directo de Windows apunte de la
emacsclientw.exe
siguiente manera:Esto debería enfocar un marco Emacs existente (si lo hay), o llamar de
runemacs.exe
otra manera. (Gracias a Vamsi por su ayuda con el ajuste de los parámetros del comando)fuente
-c
bandera soluciona ese problema?C:\path\to\emacsclientw.exe -n -e "(raise-frame)" -a "C:\path\to\runemacs.exe"
para evitar crear un nuevo marco y elevar el marco anterior.-c
¿esperará también que se visite un archivo? (Si no puede decir que no estoy en una máquina con Windows en este momento.)-c
tener la-e
expresión.Hoy me topé con otra respuesta al problema en SuperUser . Parece más hack, pero el resultado es más consistente con otros programas en Windows.
fuente
Properties
también puede configurar elStart in
directorio y abrir Emacs a un archivo o directorio en particular. (Comienzo Emacs con Dired en elStart in
directorio. IOW, paso el mismo directorio ("
-comillado) como argumento arunemacs
.)