Если у меня Emacs разделен по горизонтали и сверху, я редактирую код elisp, а внизу я в оболочке. По умолчанию Emacs делает два окна одинаковыми по размеру, но я бы хотел, чтобы буфер оболочки был меньше. Мне было интересно, как я мог это сделать.
Оригинальный вопрос, заданный Стивом для SO: Как изменить размер окон Emacs с разделенным экраном?
Ответы:
C-x-(
shrink-window-if-larger-than-buffer
) чтобы уменьшить окно, чтобы соответствовать его содержимому.C-x+(
balance-windows
) чтобы окна были одинаковой высоты и ширины.C-x^(
enlarge-window
) увеличить высоту на 1 строку или префикс arg. Отрицательный аргумент сжимает окно. Пример:C-u - 3 C-x ^C-x{(
shrink-window-horizontally
)C-x}(
enlarge-window-horizontally
)источник
C-u
?C-u
начать числовой аргумент для следующей команды. Если вы хотите увеличить в 5 раз, вместо того, чтобы печатать 5 раз, одной и той же командой, выC-u 5
C-x ^
C-u
значение по умолчанию равно 4, что означает тоC-u C-x ^
же самое, что иC-u 4 C-x ^
.Я также рекомендовал бы проверить либо
windresize
пакет от ELPA , либоwindsize
пакет от MELPA .С помощью
windresize
вы можете сделать,M-x windresize
а затем с помощью клавиш со стрелками легко перемещать границы окна, нажимая клавишу ВВОД, когда вы закончите.источник
Вы можете использовать C-x^(
enlarge-window
) в верхнем окне, чтобы увеличить его (и, следовательно, уменьшить нижнее окно).Используя мышь, вы также можете перетащить моделину верхнего окна, чтобы изменить его размер.
источник
Также обратите внимание, что, как и в оконной системе, вы можете использовать мышь с режимом xterm-mouse-mode для перетаскивания оконного разделителя.
Обратите внимание, что иногда кажется, что это немного зависит от фактической xterm или xterm-подобной программы, и iirc в более старом Emacsen не был надежным после 100-го столбца, если только вы немного не поиграли с переменной окружения TERM, но в моем Emacs 24.2 .1 работает нормально с emacs -nw -q (т.е. полностью игнорирует мой .emacs и вручную включает режим xterm-mouse-mode с помощью
M-x xterm-mouse-mode
)Обновление: к сведению для полноты, я укажу, что это также работает для вертикальных разделителей (т.е. когда вы разделены с
C-x 3
)источник
Я когда-либо писал простой минорный режим (для личного использования) для интерактивного
resize-frame
. Я думаю, что это должно быть удобно.https://gist.github.com/kuanyui/65a408d393871048771c
M-x resize-frame
включитьresize-frame
минорный режим:arrow keys
чтобы настроить размер по горизонтали / вертикали.источник