Я хочу сделать минибуфер emacs (где мы набираем команду emacs) вертикальным. Так же, как мы открываем окно, используя
C-x 3
Есть ли способ сделать это?
Обычно каждый кадр имеет свое собственное окно минибуфера внизу, которое используется всякий раз, когда выбирается этот кадр. Если у рамы есть минибуфер, вы можете получить его с окном минибуфера.
Ну, видимо, есть способ. Создание выделенного кадра минибуфера с использованием oneonone. Этот метод не сработал так, как я ожидал на Emacs 24, где я попробовал как 1on1-emacs
. Сначала нужно загрузить hexrgb.el
, иначе он не будет работать. Вот как это показано:
Как видно, он открывает новый кадр для пополнений и для минибуфера. Я не понял, почему, когда я переключаюсь на минибуфер, он не меняет область видимости на рамку минибуфера, а вместо этого пытается использовать ту, которая у меня есть ниже. Может быть, Я не использую правильные библиотеки , но, по крайней мере, это начало.
Тогда я использовал вместо этого новое окно минибуфера . Удобство использования нового окна минибуфера было довольно нулевым, поскольку у меня было два минибуфера (и я не нашел способа удалить оригинал), а автозаполнение было выполнено в главном кадре вместо кадра минибуфера.
Это самое маленькое, что я прошел:
(setq default-minibuffer-frame
(make-frame
'((name . "minibuffer")
(width . 20)
(height . 80)
(minibuffer . only)
(top . 0)
(right . 0)
)))
(setq-default mode-line-format nil)
Как сказано в комментарии в файле oneonone.el
, просто укажите это в ~/.emacs
:
(require 'oneonone)
(1on1-emacs)
Вы также можете вызвать 1on1-emacs
из командной строки:
runemacs -l "oneonone.el" -f "1on1-emacs"
(вам может потребоваться указать абсолютное имя файла для runemacs
или oneonone.el
, в зависимости от вашего каталога и т. слишком поздно, поскольку Emacs уже создал еще один минибуфер в своем первоначальном кадре. Это поведение, которое вы описываете выше.
Подсказка: Если вы используете стороннюю библиотеку, вам никогда не помешает заглянуть в Комментарии к исходному коду для инструкций по установке / запуску. ; -)
Чтобы ответить на исходный вопрос: если вы хотите, чтобы минибуфер находился рядом с другим буфером, то нет, это невозможно в том же кадре, AFAIK. Но да, для этого вы можете использовать автономный минибуфер, то есть отдельную раму минибуфера. И да, oneonone.el
позволяет вам сделать это - просто настроить положение и размер кадра минибуфера, используя опции в библиотеке.
Тем не менее, я не вижу , почему кто-то хотел бы иметь минибуфер на стороне. Имейте в виду, что текст написан горизонтально. Поэтому, как правило, имеет смысл иметь окно / фрейм, которые используются для типизированного ввода и отображаемого выходного сообщения (область эха), чтобы быть шире, чем оно высокое, не высокое и не узкое.