Ist es möglich, den Echobereich neben dem Cursor zu platzieren?

12

Das Problem: Ich fand es müde, meine Augäpfel auf und ab zu bewegen, von wo sich mein Cursor zum unteren Echobereich befindet.

Die Frage: Ist es möglich, den Echo-Bereich in der Nähe meines Cursors dynamisch zuzuweisen, wie bei QuickInfos? Ich habe nach Paketen gesucht, aber keine gefunden. Ich glaube nicht, dass es eine neue Idee ist und jemand muss es getan haben.

wangii
quelle
Was ist, wenn Sie mehrere Bildschirmfüllungen von Text wiedergeben?
wvxvw
@wvxvw, Es könnte einen Fallback-Mechanismus geben. Ich habe genau das für bestimmte Fälle implementiert. Ich bin gespannt, ob es schon eine generische Lösung gibt.
abo-abo
2
Es ist möglich, wenn Sie einen dedizierten Rahmen verwenden . Es ist aus einem Paket namens oneonone . Im Kommentarbereich steht, dass 1on1-minibuffer-frame-flag is non-nil (the default value), then the minibuffer is shown in its own frame.
Tu Do
1
Eng verwandt mit dieser Frage . Hier geht es um die Eingabe von Minipuffern , aber es gibt eine positive Antwort, sodass Sie sie möglicherweise anpassen können.
Malabarba

Antworten:

3

Der Echobereich verwendet explizit das Minibuffer-Fenster. Sofern sich dies nicht ändert, lautet die Antwort "Nein, es ist nicht möglich" (oder zumindest nicht sehr praktisch).

Siehe /programming/10063410/is-it-possible-to-separate-minibuffer-and-echo-area-inemacs

Phils
quelle
Aber wenn ich abfing message, um es in einer Überlagerung anstelle des Echobereichs anzuzeigen?
abo-abo
Klar, wenn du das nur für willst message. Es gibt jedoch viele andere Funktionen, die in den Echobereich ausgegeben werden. Ich glaube nicht, dass es ein triviales Problem ist. Sehen Sie sich das Handbuch an, um eine Vorstellung vom Umfang zu erhalten.
Phils
1
Beachten Sie insbesondere, dass es viele C-Funktionen gibt, die messageeine der C-Funktionen umgehen und stattdessen direkt aufrufen, die darunter liegende Nachrichten implementieren.
Phils
Es ist traurig. Ich dachte, eine Überlagerung + einige Codes zu verwenden, um den Nachrichtenpuffer umzuleiten.
Wangii
Sie können einen kleinen Rahmen haben, der nur ein Minipufferfenster enthält. Die einzige Schwierigkeit besteht darin, es immer dann aufzurufen, wenn im Echobereich etwas angezeigt wird.
Malabarba
5

Wie @ TuDos Kommentar anzeigt (und er kann ihn in eine Antwort ändern, wenn er möchte. In diesem Fall werde ich diese Antwort entfernen), können Sie mindestens einen eigenständigen Minibuffer-Frame verwenden und ihn an einer beliebigen Stelle platzieren.

Ein Vorteil gegenüber dem Standard-Setup besteht darin, dass Sie immer nur an einem Ort nach Ausgabemeldungen (Echobereich) und Eingabebearbeitung (Minibuffer) suchen müssen.

Sie können sogar bewirken, dass sich die Position dynamisch ändert, z. B. in der Nähe des aktuellen Eingabefokus.

Eins zu Eins Emacs kann helfen. In diesem Fall können Sie entscheiden, wo der Minibuffer-Frame abgelegt werden soll. Um ihn jedoch dynamisch neu zu positionieren, müssen Sie ein wenig mehr tun.

(EmacsWiki ist derzeit inaktiv, kann aber auch oneonone.elvon MELPA heruntergeladen werden .)

Drew
quelle
Vermutlich meinst du diese Seite im Wiki ? Ich bin nicht sicher, aber Ihr Link funktioniert nicht.
Wilfred Hughes,
@WilfredHughes: Danke, ich habe den Link repariert.
Drew