Gelegentlich bleibt eine große Datei in Emacs für immer hängen, wenn ich sie öffne, aber die GUI reagiert weiter! Ich kann meine Maus zwischen den Frames bewegen und der Cursor wird ausgefüllt, wenn ich im Dired-Modus über Dateien fahre, werden sie immer noch hervorgehoben usw., aber durch Klicken wird keine Aktion ausgeführt. Im Idealfall wird der Fehler in Emacs natürlich irgendwann behoben, aber gibt es im Moment eine Möglichkeit, das Laden der Datei durch Emacs zu unterbrechen oder meine .emacs-Datei so zu ändern, dass es unterbrochen werden kann? Strg+G funktioniert nicht.
Klarstellung: Ich versuche, meine Arbeit nicht zu verlieren - also meine ich Interrupt Emacsohne es zu töten, d. h., es soll wieder in den Zustand zurückversetzt werden, in dem es war, bevor ich versucht habe, die Datei zu öffnen.
Antwort1
Ich verwende den folgenden Hook, um Emacs zu zwingen, große Dateien im Basismodus, schreibgeschützt und ohne Rückgängig zu öffnen. Dies beschleunigt das Anzeigen großer Dateien, da Zeitaufwand bei der Schriftformatierung vermieden wird. Ich habe festgestellt, dass dies ein hilfreiches Verhalten ist, und ich kann diese Funktionen jederzeit problemlos aktivieren, wenn ich möchte. UPDATE – Tippfehler mit Find-File-Hook behoben.
(defun my-find-file-check-make-large-file-read-only-hook ()
"If a file is over a given size, make the buffer read only."
(when (> (buffer-size) (* 10 1024 1024))
(setq buffer-read-only t)
(buffer-disable-undo)
(fundamental-mode)
; (message "Buffer is set to read-only because it is large. Undo also disabled.")
))
(add-hook 'find-file-hook 'my-find-file-check-make-large-file-read-only-hook)