Wenn ich die versehentlich geschlossene Kratzer Puffer in Emacs, wie erstelle ich einen neuen Scratch - Puffer?
GNU Emacs Standardbindungen:
C-xb
*scratch*
RET
oder ausführlicher
M-x
switch-to-buffer *scratch*
RET
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 diese nach Belieben benennen.
C-xb
NAME
RET
wechselt zu einem Puffer NAME
und erstellt ihn, wenn er nicht vorhanden ist. Ein neuer Puffer wird einer Datei auf der Festplatte erst zugeordnet, wenn Sie mit C-xC-w(oder M-x write-file
RET) eine Datei auswählen, in der sie gespeichert werden soll.
M-x
text-mode
RET
Ä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 abrufen, indem Sie Folgendes eingeben:
M-x
apropos-command -mode$
RET
.emacs
einen anderen Standard- Scratch- Modus definieren, ist dies der Modus für den neuen Scratch- Modus - nicht der List Interaction-Modus.Ich füge in meinen .emacs Folgendes hinzu:
Wenn ich will nicht sehen , Kratzer Puffer I drücken Cx Ck, aber es ist es nicht töten, nur Platz am Ende der Pufferliste, so ist, dann muss ich es beim nächsten Mal , wenn ich muss nicht neu erstellen.
quelle
Auf dieser EmacsWiki-Seite gibt es eine ganze Reihe von Tipps .
Hier ist der erste:
quelle
Cx b
*scratch*
RET y RET mit aktiviertem iswitchb-Modus.Nur Cx b
*scratch*
RET sonst.quelle
initial-major-mode
Variable (Lisp-Interaktion-Modus Standard).Ich habe es vor Jahren gefunden, als ich anfing, Emacs zu verwenden. Ich habe keine Ahnung, wo jetzt, aber es hat immer ein Zuhause in meinen persönlichen .el-Dateien gehabt. Es erscheint in Google-Suchen.
quelle
Ich habe die Lösung von dwj verwendet und war ziemlich glücklich darüber, bis mir klar wurde, dass sie fehlgeschlagen ist, als Sie sie tatsächlich umbenannten den Scratch - Puffer (zum Beispiel durch Speichern).
Dann habe ich das übernommen, was für mich gut funktioniert:
quelle
Ich habe
scratch
als interaktiven Befehl zum Öffnen eines neuen Arbeitspuffers (ich möchte mehrere haben):übernommen von: http://everything2.com/index.pl?node_id=1038451
quelle
bufname
RET)?ido-mode
und habe normalerweise einige offene Puffer. Das Erstellen eines neuen Puffers mitC-x b
wäre wirklich mühsam. Ich müsste mir einen eindeutigen Namen einfallen lassen, der keinem der derzeit vorhandenen Puffer entspricht.Dadurch wird nicht nur schnell auf
*scratch*
Puffer umgeschaltet (da ich dies häufig mache), sondern es wird auch ein*scratch*
Puffer neu erstellt undlisp-interaction-mode
automatisch aktiviert , wenn Sie ihn versehentlich beenden. Ändern Sie die Bindung nach Ihren Wünschen.quelle
Nur um zu beachten, Emacs-Paket
unkillable-scratch
in MELPA wird dies tun. Außerdem wirdscratch-persist
der Puffer zwischen den Sitzungen automatisch gespeichert und wiederhergestellt.quelle
Wie der Docstring sagt, wird diese Funktion:
Dadurch wird ein neuer Scratch-Puffer aufgerufen, der dem anfänglichen Scratch-Puffer ähnelt.
quelle
Dies ist, was ich benutze - ich habe dies an einen bequemen Tastendruck gebunden. Es sendet Sie an den
*scratch*
Puffer, unabhängig davon, ob er bereits vorhanden ist oder nicht, und setzt ihn auf "In"lisp-interaction-mode
quelle
Ich möchte, dass mein Arbeitspuffer eine tatsächliche Datei ist, die automatisch gespeichert wird, und das erneute Öffnen ist so einfach wie das Öffnen einer Datei. Beim Start töte ich die Standardeinstellung und finde meine eigene so.
Ich habe eine benutzerdefinierte Kill-Buffer-Funktion, die im Wesentlichen dasselbe tut - öffnet meine persönliche gespeicherte Scratch-Datei erneut und beendet den Standard-Scratch, wenn ich den letzten sichtbaren Puffer getötet habe.
Ich habe einige der
desktop.el
Funktionen angepasst, die nach(kill-buffer "*scratch*")
und geladen werden sollen(find-file "/Users/HOME/Desktop/.scratch")
damit die Datei zuletzt sichtbar auf Emacs verlass nicht durch die Standard - Kratzer oder begraben durch meine benutzerdefinierten Kratzer begraben werden , wenn Emacs starten.Ich benutze es gerne
auto-save-buffers-enhanced
, wodurch automatisch alle Dateierweiterungen gespeichert werden, die nicht ausdrücklich ausgeschlossen sind:https://github.com/kentaro/auto-save-buffers-enhanced/blob/master/auto-save-buffers-enhanced.el
Ich verwende eine geringfügige Variation der Funktion von @paprika, wenn ich einen Besuchspuffer ohne Datei erstellen möchte:
quelle
Ich habe die bisher veröffentlichten Lösungen in einer Funktion zusammengefasst:
Um diese Funktion in Ihren .emacs anzuwenden, verwenden Sie:
Dadurch wird der Arbeitspuffer in erster Linie unzerstörbar, und wenn er gespeichert wird, wird er neu erstellt. Zusätzlich können wir eine Verknüpfungsfunktion verwenden
scratch
, um den Puffer schnell aufzurufen:In der Vergangenheit hat es sich als nützlich erwiesen, das ursprüngliche Startverzeichnis zu kennen, von dem aus Emacs gestartet wurde. Dies ist entweder der Wert
desktop-dirname
oder diedefault-directory
lokale Variable des Scratch-Puffers:So --startup-Verzeichnis wird immer wieder zurückkehren das Basisverzeichnis Ihrer Make - Datei, TODO-Datei usw. Im Fall gibt es keine Desktop ( --no-Desktop - Commandline -Switch oder keine Desktop-Datei) die
--scratch-directory
Variable halten Verzeichnis Emacs war einmal begann unter.quelle
Antwort finden Sie in EmacsWiki: http://www.emacswiki.org/emacs/RecreateScratchBuffer
quelle
Um die akzeptierte Antwort zu ergänzen , versuchen Sie Folgendes, wenn Sie den ILO-Modus aktiviert haben (und dieser nachher automatisch vervollständigt wird und Sie C-x bdaher nicht schreiben können
*scratch*
):C-x b C-b *scratch* RET
quelle
um einen neuen Puffer zu erstellen, der sich ebenfalls im Lisp-Interaktionsmodus befindet.
quelle