Estoy trabajando en varios proyectos en este momento. Quiero una sola instancia de Emacs para manejarlos a todos. Lo que quiero es un comportamiento tipo tmux en el que cada 'ventana' (en el sentido de Emacs) corresponda a un proyecto que contenga buffers de los archivos relacionados con ese proyecto. Hay varias ventanas, cada una correspondiente a un proyecto y debería poder cambiar entre ellas (algo similar a C-b w
)
¿Esta funcionalidad ya está presente de alguna forma? Supongo que será genial tenerlo ya que las otras opciones son:
- Tener varias instancias de Emacs abiertas.
- Tenga todos los archivos de todos los proyectos en una sola instancia, lo que hace que el cambio de buffers sea difícil.
ace-jump-mode
, en sí mismo, una solución genial para saltar rápidamente con el cursor en un búfer (si aún no lo tiene).frame-bufs
. Consulte también Cómo interceptar un archivo antes de que se abra y decidir qué marco - stackoverflow.com/questions/18346785/… - para mostrar un búfer en un marco de destino, y puede usarloframe-buffs--add-buffer
conjuntamente para obtener el marco asociado. Puede casarseframe-bufs
contabbar
y tampones asociado / eliminar de forma dinámica: emacs.stackexchange.com/a/10112/2287frame-bufs
asociar buffers con un marco en particular: github.com/alpaker/Frame-Bufs/blob/master/frame-bufs.elRespuestas:
Puede usar la perspectiva para gestionar proyectos. De su LÉAME:
También hay otra versión en modo persp , que es un poco diferente de la original. Las perspectivas se comparten entre los marcos y los estados se pueden guardar en el disco.
Si está utilizando proyectil , también hay una integración en perspectiva .
fuente
Puede probar el modo de ceja , que gestiona múltiples diseños de ventana (quizás complicados). Puede cambiar entre configuraciones de ventana con pulsaciones de teclas como
C-c C-w 1
yC-c C-w 2
.fuente
Una solución "básica" podría usarse
C-x r w
para registrar el estado actual de la ventana yC-x r j
volver a una anterior.fuente
Yo uso una combinación de un par de paquetes diferentes.
Lo más importante es que uso Projectile para trabajar en un "proyecto" y encontrar archivos borrosos. Utilizo varios marcos, uno para cada proyecto en el que estoy trabajando actualmente. Realmente solo necesita saber
C-x 5 2
yC-x 5 0
crear / eliminar un marco. Para gestionar el cambio entre proyectos y para almacenar el estado de la configuración / división de ventanas, utilizo Grupos de trabajo para ventanas (para emacs) .Me gusta esta configuración porque potencialmente puedo cambiar un paquete por otro.
fuente