С большими экранами сегодняшнего дня, почему кто-то хотел бы запустить что-то кроме параллельных окон? Я использую шесть окон, разбросанных по двум мониторам - я использую github.com/Lindydancer/multicolumn для настройки окон при запуске Emacs и настройки большинства моих пакетов для повторного использования существующих окон.
Вот простая функция, которая будет переключаться между горизонтальным и вертикальным разделением. Предполагается, что у вас есть только два окна, и изменение размера не выполняется:
(defun window-split-toggle ()
"Toggle between horizontal and vertical split with two windows."
(interactive)
(if (> (length (window-list)) 2)
(error "Can't toggle with more than 2 windows!")
(let ((func (if (window-full-height-p)
#'split-window-vertically
#'split-window-horizontally)))
(delete-other-windows)
(funcall func)
(save-selected-window
(other-window 1)
(switch-to-buffer (other-buffer))))))
В качестве альтернативы, в tranpose-frameEmacsWiki есть пакет , который позволит вам транспонировать весь кадр, а также выполнять другие преобразования (поворот на 180 градусов; поворот на 90 градусов по часовой стрелке или против часовой стрелки; поворот по горизонтали или вертикали).
Ответы:
Вот простая функция, которая будет переключаться между горизонтальным и вертикальным разделением. Предполагается, что у вас есть только два окна, и изменение размера не выполняется:
источник
В качестве альтернативы, в
tranpose-frame
EmacsWiki есть пакет , который позволит вам транспонировать весь кадр, а также выполнять другие преобразования (поворот на 180 градусов; поворот на 90 градусов по часовой стрелке или против часовой стрелки; поворот по горизонтали или вертикали).источник
transpose-frame
Пакет доступен на MELPA , а также.Используйте
M-x transpose-frame
или привяжите это к чему-либо, чтобы достичь этого.источник