Можно ли сделать область эха рядом с курсором?

12

Проблема: я обнаружил, что утомительно перемещать мои глазные яблоки вверх и вниз от моего курсора к нижней области эха.

Вопрос: возможно ли сделать область эха динамически размещенной близко к моему курсору, как всплывающие подсказки? Я искал пакеты, но не смог найти. Я не верю, что это новая идея, и кто-то должен был это сделать.

wangii
источник
Что делать, если вы повторяете несколько экранных текстов?
wvxvw
@wvxvw, может быть запасной механизм. Я реализовал именно это для конкретных случаев. Мне любопытно, если уже есть общее решение.
abo-abo
2
Это возможно, если вы используете выделенный кадр . Это из пакета под названием oneonone . В разделе комментариев написано, что 1on1-minibuffer-frame-flag is non-nil (the default value), then the minibuffer is shown in its own frame.
Ту До
1
Тесно связан с этим вопросом . Это касается ввода минибуфера , но у него есть положительный ответ, поэтому вы можете его адаптировать.
Малабарба

Ответы:

3

Эхо-область явно использует окно минибуфера, поэтому, если это не изменится, ответ будет «нет, это невозможно» (или, как минимум, не очень практично).

См. Https://stackoverflow.com/questions/10063410/is-it-possible-to-separate-minibuffer-and-echo-area-in-emacs

Phils
источник
Но перехватил ли я, messageчтобы отобразить его в оверлее вместо области эха?
abo-abo
Конечно, если вы хотите только этого message. Однако есть много других функций, которые выводят в область эха; Я не верю, что это тривиальная проблема. Что касается связанных вопросов и ответов, взгляните на руководство, чтобы получить представление об объеме.
Филс
1
В частности, обратите внимание, что есть много функций C, которые обходят messageи вместо этого непосредственно вызывают одну из функций C, которые реализуют обмен сообщениями внизу.
Филс
Это печально. Я думал использовать оверлей + некоторые коды, чтобы перенаправить буфер сообщений.
Ванги
Вы можете иметь небольшую рамку, которая содержит только окно минибуфера. Единственная трудность - это всплывающее окно всякий раз, когда в эхо-области отображается что-либо.
Малабарба
5

Как указывает комментарий @ TuDo (и он может изменить его на ответ, если ему нравится, и в этом случае я удалю этот ответ), вы можете, по крайней мере, использовать отдельную рамку минибуфера и располагать ее там, где вам нравится.

Одним из преимуществ по сравнению с настройкой по умолчанию является то, что у вас всегда есть только одно место для поиска выходных сообщений (область эха) и для редактирования ввода (минибуфер).

Вы можете даже заставить его положение динамически меняться - например, быть близко к текущему фокусу ввода.

Один на один Emacs может помочь. Из коробки он позволяет вам решить, куда поместить рамку минибуфера, но для ее динамического перемещения вам потребуется сделать немного больше.

(EmacsWiki в данный момент недоступна, но вы также можете скачать ее oneonone.elс MELPA.)

Нарисовалась
источник
Предположительно, вы имеете в виду эту страницу в вики ? Я не уверен, но ваша ссылка не работает.
Уилфред Хьюз
@WilfredHughes: Спасибо, я исправил ссылку.
Дрю