Wie erstelle ich einen neuen Arbeitspuffer, wenn ich versehentlich den Arbeitspuffer in Emacs geschlossen habe?
Wie erstelle ich einen neuen Arbeitspuffer, wenn ich versehentlich den Arbeitspuffer in Emacs geschlossen habe?
Antworten:
Gerade neu erstellen die Puffer von ihm vermittlungs C-x b *scratch* RET
. Wenn Sie einen Puffer mit dem Namen Emacs 21.2 erstellen *scratch*
, wird er seitdem automatisch in den Lisp-Interaktionsmodus versetzt .
*scratch*
und dann wieder dorthin wechsle, wird für mich automatisch der Lisp-Interaktionsmodus aktiviert.
.emacs
).
Es ist wohl besser, den *scratch*
Puffer automatisch neu zu erstellen, wenn er gelöscht wird, und seinen Namen nicht erneut eingeben zu müssen.
(defun prepare-scratch-for-kill ()
(save-excursion
(set-buffer (get-buffer-create "*scratch*"))
(add-hook 'kill-buffer-query-functions 'kill-scratch-buffer t)))
(defun kill-scratch-buffer ()
(let (kill-buffer-query-functions)
(kill-buffer (current-buffer)))
;; no way, *scratch* shall live
(prepare-scratch-for-kill)
;; Since we "killed" it, don't let caller try too
nil)
(prepare-scratch-for-kill)
GNU Emacs Standardbindungen:
C-xb*scratch*
oder ausführlicher
switch-to-buffer
*scratch*
Der *scratch*
Puffer ist der beim Start ausgewählte Puffer und hat den Hauptmodus " Lisp-Interaktion" . Hinweis: Der Modus für den *scratch*
Puffer wird von der Variablen gesteuert initial-major-mode
.
Im Allgemeinen können Sie so viele "Scratch" -Puffer erstellen, wie Sie möchten, und sie benennen, wie Sie möchten.
C-x bNAME
wechselt in den Puffer NAME
und erstellt ihn, wenn er nicht vorhanden ist. Ein neuer Puffer wird keiner Datei auf der Festplatte zugeordnet, bis Sie mit C-xC-w(oder M-xwrite-file
) eine Datei auswählen, in der er gespeichert werden soll.
M-xtext-mode
Ändert den Hauptmodus des aktuellen Puffers in den Textmodus.
Um alle verfügbaren Modi zu finden (dh ohne neue Pakete zu benötigen), können Sie eine Liste erhalten, indem Sie Folgendes eingeben:
apropos-command
-mode$
Ich verwende gerne Kratzpuffer für Wegwerfartikel. Nur eine zu haben, ist allerdings etwas einschränkend, daher habe ich scratch
als interaktiven Befehl zum Öffnen eines neuen Arbeitspuffers (egal wie viele bereits existieren):
(defun scratch ()
"create a new scratch buffer to work in. (could be *scratch* - *scratchX*)"
(interactive)
(let ((n 0)
bufname)
(while (progn
(setq bufname (concat "*scratch"
(if (= n 0) "" (int-to-string n))
"*"))
(setq n (1+ n))
(get-buffer bufname)))
(switch-to-buffer (get-buffer-create bufname))
(if (= n 1) initial-major-mode))) ; 1, because n was incremented
übernommen von: http://everything2.com/index.pl?node_id=1038451
M-x recover-session
diese nicht wiederhergestellt werden können. Hat jemand dies geändert, um so etwas zu verwenden make-temp-file
?
Darf ich vorschlagen, einen leeren Puffer zu erstellen? Das Interessante ist, dass Sie zuerst den Puffer erstellen und ihn anschließend speichern, wenn Sie es wirklich wollen.
(defun my-empty-buffer ()
"Open a new empty buffer."
(interactive)
(let ((buf (generate-new-buffer "untitled")))
(switch-to-buffer buf)
(funcall (and initial-major-mode))
(setq buffer-offer-save t)))
Sie müssen den Initial-Major-Modus so einstellen, dass er in Ihrer Init-Datei lispelt, und Sie sollten den My-Empty-Buffer an eine Verknüpfung binden, wie z C-n
.
Mit freundlicher Genehmigung von Ergoemacs