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ć.


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


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.)


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.