Gelegentlich beginne ich, eine Datei zu öffnen, und bevor ich die Datei aus irgendeinem Grund auswähle, führe ich sie aus, C-x obevor ich auf die Eingabeaufforderung antworte. Jedes Mal, wenn ich versuche, es find-file
erneut auszuführen , beschwert es sich über Command, das versucht hat, Minibuffer zu verwenden, während es sich im Minibuffer befindet . Wenn ich jedoch einen Befehl wie isearch-forward-regexp
(auch wenn bereits in einer find-file
Eingabeaufforderung) verwendet werde, wird der Fehler nicht ausgelöst und ich kann nicht mit zum Minibuffer zurückkehren other-window
.
Warum aktualisieren einige Eingabeaufforderungen den Minibuffer vorübergehend, sodass other-window
der Minibuffer als mögliches Ziel betrachtet wird, andere nicht?
Nur zur Klarstellung, ich frage nicht, wie ich mich lösen soll.
Ursprünglich, als ich darauf stieß, wechselte ich zum Minibuffer und tat Esc Esc Escoder C-gum der Eingabeaufforderung zu entkommen, damit ich einen neuen Befehl initiieren konnte, der den Minibuffer verwendet. Beim Nachdenken über diese Frage wurde mir jedoch klar, dass abort-recursive-edit
( C-]) diesen laufenden Minibuffer schließen wird, ohne other-window
+ tun zu müssen keyboard-quit
.
Trotzdem bin ich mir nicht ganz sicher, wofür der ursprüngliche Anwendungsfall ist. Vielleicht soll es beim Einfügen von Kopien in eine Minibuffer-Eingabeaufforderung helfen oder beim Ausführen eines Befehls mitten in einem Makro helfen?
Was ich tun möchte , ist wissen , ob es einen Weg gibt , dieses Rekursivität, wie es mit zu deaktivieren isearch
. Ist isearch
sicher, weil es ein Leseereignis anstelle einer blockierenden Eingabeaufforderung verwendet? Gibt es einen Hook, der abort-recursive-edit
beim Verlassen des Minibuffers ausgelöst werden muss?
TL; DR
- Warum aktualisieren einige Minibuffer-Befehle den Minibuffer auf ein Ziel für
other-window
und blockieren die Ausführung neuer Minibuffer-Befehle, während andere, zisearch
. - Gibt es eine Möglichkeit, dies zu deaktivieren?
- Was ist der beabsichtigte Anwendungsfall dieser Funktion?
enable-recursive-minibuffers
um t
zu vermeiden, dass der Befehl versucht, den Minibuffer in der Minibuffer- Nachricht zu verwenden. Es kann hilfreich sein, die ursprüngliche Frage zu klären, wenn Sie die Frage recursive-edit
separat veröffentlicht haben.
C-]
bricht eine Ebene des Minibuffers ab, ja. Isearch verwendet den Minibuffer nicht. Und was hat " in prompt stecken " mit dem Rest von dem zu tun, was Sie beschreiben? Sie solltenswitch-window
in solchen Kontexten überhaupt nicht verwenden müssen . Aber es ist nicht klar, was Sie versuchen zu tun. Versuchen Sie, die verschiedenen Teile Ihrer Beschreibung zu trennen, und versuchen Sie, eine einzige Frage zu stellen.