Emacs: Wie erstelle ich einen neuen "leeren" Puffer, wenn ich einen neuen Rahmen erstelle?

8

Mein Emacs ist auf OS X-System. Gibt es eine Möglichkeit, einen neuen Rahmen standardmäßig zu einem leeren Puffer zu machen, wenn ich ⌘N verwende (genauso wie die Funktionsweise von TextEdit)? Ich bevorzuge es, Inhalte zuerst zu schreiben und später einen passenden Dateinamen zu bestimmen. Emacs möchte jedoch, dass ich zuerst den Dateinamen entscheide und später Inhalte schreibe. Ich sehe keinen Vorteil dafür. Weiß jemand, warum Emacs so funktioniert?

Grundsätzlich, wenn ich C-x 5 2 verwende, öffnet Emacs immer einen Frame mit der Datei, an der ich gerade arbeite. Das ist unbequem. Ich möchte auch nicht, dass mein Emacs einen neuen Frame anzeigt, der auf *scratch* voreingestellt ist (viele Google-Suchergebnisse weisen auf diesen Ansatz hin). Ich bevorzuge einen Puffer, der im neuen Rahmen vorübergehend "Unbenannt" genannt wird, und wenn ich wieder ⌘N verwende, öffnet Emacs einen weiteren temporären Puffer "Ohne Titel 2" und so weiter. Auf diese Weise kann ich die Pufferdateinamen später entscheiden.

    
Bart Simpson 11.09.2014, 15:34
quelle

5 Antworten

12

Sie können neue Puffer mit switch-to-buffer erstellen. Geben Sie C-x b ein, geben Sie einen Puffernamen ein und drücken Sie RET . Wenn kein Puffer mit diesem Namen existiert, erstellt Emacs automatisch einen neuen im Grundmodus. Sie können wie üblich mit M-x , z. %Code%. Um den Standardpuffer zu ändern, setzen Sie den Standardwert M-x python-mode auf den gewünschten Puffer.

Wenn Sie möchten, dass ein Puffername automatisch ausgewählt wird und Sie einen neuen Rahmen erstellen, müssen Sie jedoch einen eigenen Befehl schreiben:

%Vor%

Bindet dies an major-mode :

%Vor%

Wenn Sie nun C-c n drücken, wird ein neuer Rahmen mit einem neuen leeren Puffer namens "untitled" erstellt, wobei x eine fortlaufende Nummer ist.

    
lunaryorn 11.09.2014, 16:08
quelle
5

Dies könnte für Sie funktionieren, wenn ich Ihre Anfrage verstehe:

%Vor%

Dies öffnet eine neue temporäre Datei für jeden neuen Puffer. Wenn Sie die Datei nicht wirklich erstellen möchten, können Sie stattdessen Folgendes verwenden:

%Vor%     
Tyler 11.09.2014 15:53
quelle
4

Im Folgenden wird ein Puffer mit einem eindeutigen Namen erstellt. Der Puffer ist keiner Datei zugeordnet. Wenn Sie also C-x C-s save-buffer eingeben, werden Sie aufgefordert, einen Dateinamen anzugeben.

%Vor%     
Greg Hendershott 11.09.2014 16:10
quelle
4

Sie haben Antworten darauf erhalten, wie Sie neue "Untitled" -Puffer erstellen können, aber warum Emacs zuerst einen Namen auswählen soll, sind einige Gründe dafür:

  • Historisch: so hat es funktioniert, und wenn man sich einmal daran gewöhnt hat, ist es nicht schlimmer als die Alternative.
  • Hauptmodi und verschiedene andere Details werden normalerweise basierend auf dem Namen der Datei ausgewählt. Anstatt also einen unbenannten Puffer zu erstellen und auszuwählen, ob er in den LaTeX-Modus oder den C-Modus versetzt werden soll, öffnen Sie einfach eine Datei mit der Erweiterung ".tex" oder ".c".
  • Ein Dateiname bedeutet, dass Emacs das Standard-Verfahren zum automatischen Speichern verwenden kann, während Anwendungen mit dem Ansatz Untitled eine spezielle Möglichkeit haben müssen, diese unbenannten Dokumente an einem "Standard" -Platz automatisch zu speichern.
Stefan 11.09.2014 18:59
quelle
1

C-x b * unbenannt * öffnet einen neuen Puffer, falls nicht vorhanden. Siehe auch Emacs-Handbuch

    
NoobsEnslaver 25.05.2016 11:31
quelle

Tags und Links