Czy można ustawić obszar echa obok kursora?

12

Problem: Odkryłem, że męczące jest przesuwanie gałek ocznych w górę iw dół od miejsca, w którym kursor znajduje się w dolnym obszarze echa.

Pytanie: czy możliwe jest dynamiczne przydzielanie obszaru echa blisko mojego kursora, podobnie jak podpowiedzi? Szukałem pakietów, ale nie mogłem znaleźć. Nie wierzę, że to nowy pomysł i ktoś musiał to zrobić.

wangii
źródło
Co jeśli powtórzysz kilka ekranów tekstu?
wvxvw
@wvxvw, Może istnieć mechanizm awaryjny. Zaimplementowałem dokładnie to w konkretnych przypadkach. Jestem ciekawy, czy istnieje już ogólne rozwiązanie.
abo-abo
2
Jest to możliwe, jeśli używasz dedykowanej ramki . Pochodzi z pakietu o nazwie oneonone . W sekcji komentarzy jest napisane, że 1on1-minibuffer-frame-flag is non-nil (the default value), then the minibuffer is shown in its own frame.
Tu Do
1
Ściśle związany z tym pytaniem . To dotyczy wejścia do minibufora , ale ma pozytywną odpowiedź, więc możesz go dostosować.
Malabarba

Odpowiedzi:

3

Obszar echa wyraźnie korzysta z okna minibufora, więc jeśli to się nie zmieni, odpowiedź brzmi „nie, to niemożliwe” (lub przynajmniej nie bardzo praktyczne).

Zobacz /programming/10063410/is-it-possible-to-separate-minibuffer-and-echo-area-in-emacs

phils
źródło
Ale jeśli przechwyciłem, messageaby wyświetlić go w nakładce zamiast w obszarze echa?
abo-abo
Jasne, jeśli tylko tego chcesz message. Istnieje jednak wiele innych funkcji, które wysyłają sygnał do obszaru echa; Nie wierzę, że to banalna sprawa. Zgodnie z połączonymi pytaniami i odpowiedziami zapoznaj się z instrukcją, aby dowiedzieć się więcej o zakresie.
phils
1
Zwróć uwagę w szczególności, że istnieje wiele funkcji C, które omijają messagei zamiast tego wywołują bezpośrednio jedną z funkcji C, które implementują przesyłanie komunikatów poniżej.
phils
To smutne. Myślałem o użyciu nakładki + niektórych kodów do przekierowania bufora komunikatów.
wangii
Możesz mieć małą ramkę, która zawiera tylko okno minibufora. Jedyną trudnością jest wyskakiwanie, gdy w obszarze echa jest coś.
Malabarba
5

Jak wskazuje komentarz @ TuDo (i może zmienić go na odpowiedź, jeśli mu się podoba, w takim przypadku usunę tę odpowiedź), możesz przynajmniej użyć samodzielnej ramki minibufora i możesz ustawić ją tam, gdzie chcesz.

Zaletą w stosunku do domyślnej konfiguracji jest to, że zawsze masz tylko jedno miejsce do wyszukiwania komunikatów wyjściowych (obszar echa) i edycji danych wejściowych (minibufor).

Możesz nawet spowodować, że jego pozycja zmieni się dynamicznie - na przykład, aby być blisko miejsca, w którym znajduje się bieżący fokus wejściowy.

One On One Emacs może pomóc. Po wyjęciu z pudełka pozwala zdecydować, gdzie umieścić ramkę minibufora, ale aby dynamicznie zmienić jej położenie, musisz zrobić trochę więcej.

(EmacsWiki jest obecnie niedostępny, ale możesz pobrać oneonone.elrównież z MELPA.)

Rysował
źródło
Prawdopodobnie masz na myśli tę stronę na wiki ? Nie jestem pewien, ale twój link nie działa.
Wilfred Hughes
@WilfredHughes: Dzięki, naprawiłem link.
Drew