Tengo un búfer en algún modo mayor, y en otro búfer el archivo de modo en sí (* .el). Después de editar el archivo * .el, quiero ver los cambios reflejados en el primer buffer, sin reiniciar emacs. Traté de ejecutar la función -mode pero no cambió el buffer. Gracias¿Cómo volver a cargar un modo principal de emacs?
Respuesta
Cuando edite el origen de un modo, debe asegurarse de evaluar las funciones que cambia; guardarlas en un archivo por sí solo no será suficiente, ya que internamente Emacs seguirá utilizando el código anterior.
Por ejemplo, podría saltar al final de la definición de la función en la que trabaja con M-C-e y evaluar la función con C-x C-e. A partir de ese momento, Emacs usará la definición actual.
Esto también funciona para la definición de modo, pero muchas veces invocar un modo con Mx mode-name se implementa como un alternar: lo llama una vez, activa el modo, lo llama de nuevo, desactiva el modo . Entonces puede que tenga que hacer M-x mode-name dos veces.
M-x load-file your-mode.el
o
M-x eval-buffer
luego cambie el comportamiento dentro y fuera de la memoria intermedia, presumiblemente por hacer
M-x your-mode
M-x your-mode
O, si su modo reconoce el argumento prefijo
C-u 1 M-x your-mode
Nota: Cuando estás lo Al agregar un archivo, defvar
no anula los valores existentes, por lo que si cambia los valores en la llamada al defvar
, deberá evaluarlos específicamente, haciendo CMx cuando su cursor esté en la expresión devfar
, o usando Mx: y escribiendo en la expresión. Consulte this page para obtener documentación sobre la evaluación de lisp en Emacs.
En lugar de alternar el modo, también puede do 'Mx normal-mode' – scottfrazer
Si su modo proporciona una característica (como debe ser!) Usando (provide 'foo-mode)
entonces se puede
M-x unload-feature RET foo-mode RET
y luego cargar el modo nuevo de forma normal (usando foo-mode
si tiene una carga automática apropiada, o el uso de load-library
o load-file
de lo contrario).
No había visto esto antes. La documentación señala que esto generará un error si hay otro código cargado que requiera la función, pero puede forzar la descarga utilizando un prefijo arg. – phils
Es útil tener en cuenta los casos en que otro código cargado utiliza su módulo, porque incluso si recarga su módulo, el otro módulo puede seguir refiriéndose a definiciones de funciones antiguas. En este caso, también deberá volver a cargar el otro módulo para que se refiera a las nuevas definiciones. –
+1, esto lo hizo por mí, en combinación con la respuesta de Trey Jackson. –
- 1. Modo principal GLSL para Emacs?
- 2. Depurar Emacs Lisp modo principal
- 3. emacs lisp, ¿cómo obtener el modo principal de búfer?
- 4. Modo principal de Javascript en Emacs
- 5. Volver a cargar las configuraciones sin reiniciar Emacs
- 6. ¿Cómo volver a cargar TreeStore?
- 7. ¿Cómo volver a cargar gdbinit?
- 8. ¿Cómo puedo volver a cargar fácilmente el código de ceceo de Emacs cuando lo estoy editando?
- 9. ¿Cómo volver a cargar un div sin volver a cargar toda la página?
- 10. Emacs: ¿cómo ingreso automáticamente modos menores cuando ingreso a un modo principal?
- 11. ¿Cómo forzar a un script a volver a cargar y volver a ejecutar?
- 12. ¿Cómo volver a cargar Spring Security Principal después de actualizar en Hibernate?
- 13. Cómo volver a cargar una página JSF desde un ValueChangeEvent?
- 14. ¿Cómo puedo volver a cargar un script en IRB?
- 15. ¿Volver a cargar hojas de estilo CSS sin volver a cargar la página?
- 16. Java: ¿volver a cambiar al hilo principal?
- 17. ¿Cómo obtengo flash para volver a cargar la página HTML principal en la que está incrustado?
- 18. ¿Cómo forzo a ActiveRecord a volver a cargar una clase?
- 19. cómo volver a cargar solo scripts a través de firebug
- 20. emacs - autocompletado en modo Emacs Lisp
- 21. Actualizar/volver a cargar Flot en Javascript
- 22. emacs: abra todos los archivos .txt en un directorio específico en un modo principal específico
- 23. ¿Volver a cargar una sola fila jqGrid?
- 24. definiciones Restablecer y vuelva a cargar .emacs sin cerrar o reiniciar Emacs y volver a abrir tampones
- 25. ¿Cómo instalo un modo MATLAB en GNU Emacs?
- 26. Obligar a ConfigurationManager a volver a cargar todas las secciones
- 27. ¿Cómo volver a cargar el módulo de Python en IDLE?
- 28. ¿Volver a cargar rubygems en irb?
- 29. Modo Emacs para un lenguaje c-like
- 30. Vim, cómo volver a cargar el resaltado de sintaxis
Para todas las formas diferentes de (re) evaluación de elisp, consulte http://www.masteringemacs.org/articles/2010/11/29/evaluating-elisp-emacs/ – phils