2011-10-04 13 views
18

Por lo que yo entiendo, la siguiente secuencia de comandosdefiniciones Restablecer y vuelva a cargar .emacs sin cerrar o reiniciar Emacs y volver a abrir tampones

M-x load-file ENTER 
~/.emacs 
ENTER 

se vuelva a cargar mi archivo .emacs. Sin embargo, por lo que he leído en otros foros, no se garantiza que me den una configuración totalmente revisada, es decir, obligarían a Emacs a analizar el nuevo archivo de configuración y volver a cargar las definiciones modificadas de variables y funciones, pero no eliminarían las definiciones cargadas previamente. .

Con esto, mis preguntas son:

  1. ¿Es posible ups claras definiciones de Emacs en la memoria y volver a la carga .emacs sin tener que reiniciar totalmente Emacs?
  2. Si lo anterior no es posible, ¿hay alguna manera de reiniciar Emacs (para que analice mi archivo .emacs desde cero) pidiéndole que vuelva a abrir todos los búferes que tengo abiertos?
+2

+1 para contrarrestar el voto negativo (extraño) ... ¿qué pasa con esta pregunta? –

+0

¿Por qué estás tratando de volver a cargar todo el archivo? Las partes del archivo que sabe que han cambiado se pueden volver a ejecutar con eval-region –

+3

Digamos que tiene '(setq config-var t)' para alguna variable cuyo valor predeterminado es 'nil'. Si elimina esta línea del archivo, no podrá reproducir el comportamiento predeterminado volviendo a cargar solo esa parte del archivo (que ahora está vacía) o incluso todo el archivo. Tienes que hacer un seguimiento de cada cambio que realizas y deshacerlo de alguna manera, que está lleno de peligros y puede que ni siquiera sea posible. –

Respuesta

11

Deshacer todo lo que podría haberse hecho en su .emacs es imposible.

Puede guardar y restaurar una sesión de emacs con desktop. Salga con M-x desktop-save RET C-x C-c y luego restaure con emacs -f desktop-read.

Consulte (info "(emacs) Saving Emacs Sessions") para obtener más información. (También puede customizedesktop-save-mode para que este comportamiento sea el predeterminado.)

+1

Véase también http://porkmail.org/elisp/recover-buffers/que le permite volver a visitar todos los búferes que tenía abiertos cuando Emacs se cerró o cerró. Divulgación: escribí eso. – tripleee

4

Esta pregunta es un duplicado, pero como tiene una respuesta aceptada, repetiré mis comentarios sobre la biblioteca de escritorio, que es que almacena una cierta cantidad de estado (modos y variables locales) con cada almacenamiento intermedio que guarda, y luego restaura ese mismo estado cuando vuelve a cargar esos archivos.

En su caso, por supuesto, esto es exactamente lo que usted no desea querer pasar.

Consulte Reload .emacs for all active buffers para obtener una forma sencilla de revertir (cargar) todos los almacenamientos intermedios.

La combinación de los dos enfoques le permitiría reiniciar Emacs, con Desktop restaurando los archivos, en cuyo punto podría revertir todos los archivos.

Cuestiones relacionadas