¿Tienes una razón específica para querer esto? Esto sería bastante loco. No escribo rápido, pero sé que incluso un SSD rápido no podría seguir con mi escritura. (Al menos no en emacs)
PythonNut
Respuestas:
9
(defun my-instant-save-buffer (eins zwei drei)"To be hooked into list `after-change-functions'
`after-change-functions' expects functions receiving three arguments.
Arguments are ignored here, but slots needed by add-hook"(save-buffer))(add-hook 'after-change-functions'my-instant-save-buffer)
Esto debe venir con una advertencia: sólo porque usted puede hacerlo no significa que usted debe . No lo he probado, pero creo que es probable que esto afecte sustancialmente el rendimiento.
NickD
@NickD De acuerdo. Sin embargo, acabo de responder la pregunta, sin dar indicio de buena práctica.
Andreas Röhler el
7
Tenía el mismo requisito y la función de guardado automático de emacs no me ha funcionado bien porque no se puede utilizar las funciones de c. Entonces, escribí un paquete real-auto-save para eso. Está disponible en melpa.
Puedes instalarlo por
M-x package-install RET real-auto-save
y en tu configuración puedes agregar
(require'real-auto-save)(add-hook 'prog-mode-hook'real-auto-save-mode)(setq real-auto-save-interval 1);; in seconds
Después de cada segundo, si se modifica su búfer, se guardará automáticamente.
Si desea guardar específicamente después del evento key up, puede escribir una función lisp para eso.
Puede habilitar auto-save-mode, por lo que Emacs guarda automáticamente su búfer actual en un archivo diferente. Luego, agregue esta función para auto-save-hooktambién escribirla directamente en el archivo real que está editando:
(defun save-buffer-if-visiting-file (&optional args)"Save the current buffer only if it is visiting a file"(interactive)(if(and (buffer-file-name)(buffer-modified-p))(save-buffer args)))(add-hook 'auto-save-hook'save-buffer-if-visiting-file)
La variable intervalo de guardado automático especifica cuántos caracteres hay entre los guardados automáticos. Por defecto, es 300. Emacs no acepta valores que sean demasiado pequeños: si personaliza el intervalo de guardado automático a un valor inferior a 20, Emacs se comportará como si el valor fuera 20.
Entonces, si desea que Emacs guarde para cada pulsación de tecla, cambie auto-save-intervala 1:
Respuestas:
fuente
Tenía el mismo requisito y la función de guardado automático de emacs no me ha funcionado bien porque no se puede utilizar las funciones de c. Entonces, escribí un paquete real-auto-save para eso. Está disponible en melpa.
Puedes instalarlo por
y en tu configuración puedes agregar
Después de cada segundo, si se modifica su búfer, se guardará automáticamente.
Si desea guardar específicamente después del evento key up, puede escribir una función lisp para eso.
fuente
Puede habilitar
auto-save-mode
, por lo que Emacs guarda automáticamente su búfer actual en un archivo diferente. Luego, agregue esta función paraauto-save-hook
también escribirla directamente en el archivo real que está editando:De acuerdo con el manual de Emacs sobre el control de guardado automático :
Entonces, si desea que Emacs guarde para cada pulsación de tecla, cambie
auto-save-interval
a1
:fuente