2010-09-25 16 views
15

Me tomó mucho tiempo acostumbrarme a Emacs, pero todo lo que quiero tener desde un editor normal como Coda, es simplemente imposible sin scripts adicionales.Recuerda todos los archivos abiertos con ventanas divididas y sus posiciones en Emacs

Quiero restaurar todo como antes.

Ventanas divididas, su posición, archivos/shells/depuradores abiertos. Todo vuelve a ser como era. Coda puede hacer esto, Eclipse puede hacer esto, cualquier cosa puede hacer esto.

Cuando necesito alguna característica normal para Emacs, siempre se necesitan toneladas de scripts para tenerla. Pensé que realmente moriría con pyflakes, código de color, enlaces de ventanas encogibles y otros 20 scripts que ni siquiera recuerdo ... ¿Por qué tantas cosas elementales no están integradas ya?

¿Algún buen libro para principiantes?

Respuesta

3

He encontrado Conveniently save and restore frame configurations, y que podría estar haciendo lo que busca.

+0

finalmente algo útil, por ejemplo, este enlace! =) Es extraño que emacs admita las pestañas, pero no pudo mantener su configuración al abrir el editor de nuevo. – holms

+0

Lo investigué más, y no funciona las sesiones cruzadas (también conocido como reinicios de emacs). En su lugar, puede usar revive.el desde http://www.emacswiki.org/emacs/WindowsMode. Pude usarlo anoche para guardar las configuraciones de división de ventanas y restaurarlas más tarde, incluso después de un reinicio. Ahora lo que no tengo claro es que parece que no siempre restaura el contenido real del búfer. Específicamente, no siempre funciona con los búferes del modo de navegación (code.google.com/p/emacs-nav/, ide-like file explorer). Quizás necesite buscar más en http://www.emacswiki.org/emacs/SessionManagement – Pierre

7

Consulte "Opciones"> "Personalizar Emacs".

suena como desea habilitar dos características:

  • "Guardar lugar" lo que ahorra la ubicación de cada archivo la próxima vez que lo carga.
  • "Escritorio" que guarda todos los archivos que ha cargado actualmente.

o si se siente como editar el fichero .emacs:

(custom-set-variables 
    ;; custom-set-variables was added by Custom. 
    ;; If you edit it by hand, you could mess it up, so be careful. 
    ;; Your init file should contain only one such instance. 
    ;; If there is more than one, they won't work right. 
    '(desktop-enable t nil (desktop)) 
    '(save-place t nil (saveplace))) 
+0

¿Esto ahorrará las ventanas splited también? Normalmente tengo 3 ventanas, en una está el caparazón en otras dos, 2 archivos abiertos. ¿Esto ahorrará una posición de ventanas también?Por cierto estoy usando emacs en shell, – holms

+0

No creo que guarde las divisiones o ubicaciones divididas (no en mi versión). No estoy seguro de si quiere decir dividir el marco visible en 3 almacenamientos intermedios o abrir 3 marcos; pero en cualquier caso AFAIK solo recarga los archivos que tenías abiertos cuando saliste y recuerda tu ubicación de edición en cada uno. Por lo tanto, tendrías que volver a encender y cambiar cada buffer al archivo deseado. Tendrás que reiniciar el shell desde w/in emacs. – saschwarz

+0

, de hecho, la pregunta fue: ¿puedo guardar las posiciones divididas del buffer? ¿Puedo hacer una configuración o algo así? (cada vez que ingreso a emacs, quiero ver mi búfer dividido con mi ancho y alto que se establecieron antes) – holms

2

No está seguro de si se está acercando a lo que quiere, pero darle una oportunidad: http://www.emacswiki.org/emacs/LayoutRestore

+1

No, no lo es. Después de salir de emacs, después de que me despierto por la mañana, quiero continuar con el mismo diseño que antes. Las mismas divisiones, los mismos archivos abiertos en ellas, el mismo ancho/alto de las divisiones ... todo LO MISMO que antes antes de abandonar emacs ... Todos los editores tienen cosas como esas. Odio VIM pero en vim puedes restaurar todo como antes ... – holms

5

tengo este trabajo . Emacs se inicia siempre una copia de seguridad exactamente como lo dejé, a menos de que se estrelle ...:

http://www.gentei.org/~yuuji/software/windows.el

Esto ahorrará todas las ventanas y escupe buffers abiertos:

http://www.emacswiki.org/emacs/SavePlace

Thise ahorrará su colocar en archivos. Aquí más o menos cómo configurarlo:

(require 'windows) 
(require 'recentf) 

;; -- Load the saved windows automatically on boot 
(add-hook 'window-setup-hook 'resume-windows) 

;; -- Save place in file 
(setq-default save-place t) 

;; -- Use this command to quit and save your setup 
(define-key ctl-x-map "C" 'see-you-again) 

;; -- Set up window saving!! Place at end of .emacs file 
(win:startup-with-window) 
+0

funciona perfectamente. Lo configuré en emacs-live, en mi paquete personal. Tuvo que cargar también revive.el antes de windows.el. http://www.emacswiki.org/emacs/WindowsMode –

1

Emacs 24.4 instantáneas since June 2013 han agregado la restauración de marcos al administrador de sesiones incluido desktop.el. Esto incluye la restauración de la posición del escritorio y las ventanas abiertas de todos los marcos. Intenté esta característica usando una instantánea de enero de 2014 y funciona bastante bien, aunque quedan algunos errores menores. Es posible que ya se hayan solucionado en instantáneas más recientes.

Tenga en cuenta que algunos búferes no se pueden restaurar fácilmente incluso en teoría, como los depuradores (gdb, pdb, etc.) y cualquier otro búfer que depende de un proceso externo.

+0

Esto funcionó perfectamente para mí y está muy bien documentado aquí: http://ergoemacs.org/emacs/emacs_save_restore_opened_files.html – petergassner

Cuestiones relacionadas