2010-06-22 7 views
5

Ich beginne gerade in Emacs. Manchmal experimentiere ich mit etwas und wenn ich mit dem Experimentieren fertig bin, möchte ich einfach zu dem Puffer zurückkehren, den ich bearbeitet habe, aber ich weiß nicht wie. Schlimmer noch, manchmal treffe ich zufällig einen Schlüssel und weiß nicht einmal, was ich treffe! In Vim kann ich einfach ESC drücken, um mich zu erholen; Gibt es einen ähnlichen Weg, um sich in Emacs zu erholen?Wie man sich aus unordentlichen Situationen in Emacs erholen?

EDIT: Ich benutze die Befehlszeile (nicht GUI) Emacs.

Antwort

9

Es gibt auch ESC-ESC-ESC (Tastatur-Escape-Quit). Aus dem Handbuch:

Der Befehl ESC ESC ESC (Tastatur-escape-quit) können entweder oder abbrechen beenden. Dieser Schlüssel wurde definiert, weil ESC verwendet wird, um in vielen PC Programmen "auszusteigen". Es kann ein Präfix Argument abbrechen, eine ausgewählte Region löschen oder aus einer Abfrage ersetzen, wie C-g. Es kann aus dem Minibuffer oder einer rekursiven Bearbeitung, wie C-]. Es kann auch aus dem Zerlegen des Rahmens in mehrere Fenster, wie C-X 1. One Sache kann es nicht tun, ist jedoch ein Befehl, der ausgeführt wird. Das ist , weil es als gewöhnlicher Befehl ausgeführt wird, und Emacs merkt es nicht, bis es für einen Befehl bereit ist.

Ich finde ESC drücken, um eine natürliche Antwort auf den Wunsch zu sein, eine Situation "zu verlassen". Hämmern Sie es mehrmals, kann auch emotional befriedigend sein, wenn Sie frustriert sind.

+0

Beachten Sie, dass es in Vielfachen von 3 funktioniert: Wenn Sie es 5 mal drücken, zeigt der Minipuffer "ESC ESC" an und Sie müssen ihn noch einmal drücken. :-) – ShreevatsaR

+0

Das ist OK. Wenn ich Emacs satt habe, hämmere ich einfach weiter, bis der Minipuffer leer ist. Es gibt viele Zahlen, die durch 3 teilbar sind ... PS. Natürlich erfordert dies '(setq visible-bell t)', die IMHO ist die eine wesentliche Emacs Anpassung – zetetic

+1

Ich liebe das Bit "Hämmern es mehrere Male kann auch emotional befriedigend sein, wenn Sie frustriert sind." – Vivi

8

"C-g" ist Ihr Befehl beendet. Dies wird die meisten Situationen wiederherstellen.

"C-x o" bringt Sie zum anderen Fenster, wenn Sie mehrere öffnen.

"C-h a" (apropos) ist eine gute Möglichkeit, mehr Befehle und Schlüssel zu finden. Geben Sie "C-h a buffer" ein, um eine Liste aller pufferbezogenen Befehle zu erhalten.

+5

Nur auf dieser ein wenig, "Ch l" letzte Eingabe erweitern wird angezeigt, Das kann nützlich sein, wenn Sie etwas treffen, aber nicht wissen, was es war. Mit "C-h t" gelangen Sie außerdem zum integrierten Lernprogramm, das Ihr erster Schritt zum Erlernen von Emacs sein sollte. – Hugh

3

Ihre Betreffzeile ist ein wenig verwirrend, weil ‚Modi‘ (Dur und Moll) sind nicht das Gleiche wie Puffer (Modi - Puffer angelegt werden, beeinflussen die Art und Weise Sie anzeigen und mit ihnen interagieren). Es klingt, als ob Sie wirklich wissen möchten, wie Sie Ihren ursprünglichen Puffer finden, nachdem Sie zu einem anderen gewechselt haben?

C-x b ist die Standardbindung für switch-to-buffer. Es bietet Ihnen einen Standardpuffer, zu dem Sie wechseln können, indem Sie RET drücken. Meistens wird der Standard angeboten, den Sie wollten. Ist dies nicht der Fall, können Sie stattdessen TAB drücken, um eine vollständige Liste aller verfügbaren Puffer anzuzeigen. Jetzt geben Sie einfach den Namen ein, um ihn eindeutig zu machen, drücken Sie erneut TAB, um den Namen für Sie zu vervollständigen, und drücken Sie dann RET, um ihn auszuwählen.

Alternativ ist C-x C-b die Standardbindung für den Befehl list-buffers, der eine Liste aller Puffer anzeigt. Sie können dann C-x o verwenden, um zu other-window zu wechseln, nach oben oder unten gehen, um den Puffer auszuwählen, auf den Sie wechseln möchten, und RET drücken, um darauf zu wechseln. C-x 1 wird dann die anderen Fenster von Ihrem Emacs-Display entfernen.

Schließlich binden viele Hauptmodi q an einen "quit" -Befehl, der diesen Puffer im Allgemeinen vergräbt oder löscht, wodurch Sie zum vorherigen zurückkehren. Dies ist nicht garantiert, aber es funktioniert in vielen Situationen.

(wie bereits von anderen erwähnt, können Sie möglicherweise zu C-g benötigen oder auf andere Weise einen aktiven Befehl abbrechen, bevor Sie diese Befehle verwenden können.)

Das alles gesagt, ich denke, dass was Sie wirklich Notwendigkeit Zu tun ist Typ C-h t oder M-x help-with-tutorial RET und lesen und folgen Sie diesem Dokument. Es wird alle diese Arten von Fragen für Sie beantworten, und viele mehr. Emacs kann kompliziert sein, also wäre dies Ihre Zeit sehr wert.

+0

Ich habe "Modi" in "chaotische Situationen" geändert. Ich bin mir nicht sicher, ob das Dinge klarstellt ... – kerkeslager

0

M-x Fundamental-Modus entfernt alle Ihre Modi in einem bestimmten Puffer.

+0

Das kann ziemlich verwirrend sein, wenn Sie nicht wissen, in welchem ​​Modus Sie waren. Die Tasten hören auf zu arbeiten und das Verhalten wird merkwürdig. –

0

Ich behalte einen "experimentellen" Puffer (normalerweise mein *scratch* Puffer) und binde einen Schlüssel, um zu diesem zu wechseln (in meinem Fall F4). Ich schlug es, gehen in den Scratch-Puffer, Experiment zu meinem Herzen Inhalt und dann Cx verwendenb zurück in den Puffer zu wechseln war ich in.

Auf jeden Fall die Cxb, sollte Erlaubt es Ihnen, zwischen den Puffern zu wechseln, und Sie können diese verwenden, um dorthin zurückzukehren, wo Sie waren. Die iswitchb-mode macht den Pufferwechsel viel schöner, aber das ist eine persönliche Meinung.

C-g ist Emacs beenden Befehl. Es entspricht in etwa ESC von vim. Sie können es ein paar Mal drücken, um aus dem herauszukommen, was Sie tun (z. B. auf halbem Weg durch einen komplexen Befehl usw.) und dann zu Ihrem normalen Arbeitsablauf zurückzukehren.

Keine Sorge. Nach einer Weile wird all dies Muskelerinnerung. Genau wie der ESC Schlüssel für vim Experten.

+0

Ich mache mir keine Sorgen. :) – kerkeslager

+2

Nun, ich war, als ich anfing, Emacs zu verwenden. Ich musste mich mit der gleichen Maschine verbinden und den Prozess beenden, weil ich nicht wusste, wie ich aufhören sollte. :) –

+0

Haha, das ist eine tolle Geschichte. Ich bin bereits durch den vim-Lernprozess gegangen, also wusste ich dieses Mal besser, als Emacs zu öffnen, ohne zu wissen, wie man es schließt. :) – kerkeslager

2

Canceling, Undo/Redo

C-g jeden Befehl abbrechen wird. Es gibt eine Zeit, das wird nicht funktionieren, wenn Sie unterbrechen Sie sich einen Befehl eingeben, zum Beispiel:

  • Sie geben C-xC-f (find-Datei).
  • Während Sie den Dateinamen eingeben, wechseln Sie in einen anderen Puffer C-xC-o.
  • Jetzt können Sie den Befehl nicht mehr abbrechen, ohne in den Minipuffer (Bereich unten) zu wechseln.
  • Verwenden Sie einfach C-xC-o wieder, um dorthin zurückzukehren und fortzufahren.

C-_ ist Undo/Redo, hat es nur 1-Richtung.Wenn Sie C-_ 20 Mal, dann machen Sie eine Änderung, diese Undos werden Ihre Vergangenheit und Sie können C-_ 21 mehr Male Ihre Änderung rückgängig machen und Ihre 20 Undos, Sie werden wieder da sein, wo Sie angefangen haben.

Finding Puffer

  • Verwenden C-x<left> und C-x<right> am Anfang zwischen den Puffern zu tauschen.
  • Dann gewöhnen Sie sich an C-xb.
  • Versuchen Sie M-x ibuffer.

Splitting

  • C-x3 Split vertikal
  • C-x2 Split horizontal
  • C-x1 alle Splits entfernen

Info

  • M-x info ist dein bester Freund
  • Erfahren Sie mehr über C-h
Verwandte Themen