Як змінити вікна Emacs з вертикального розбиття на горизонтальне?


26
Window A
++++++++
Window B

Чи є спосіб перейти на

Window A : Window B

Чи є спосіб переключити погляд без закриття вікон?


1
На великих сьогоднішніх екранах, чому б коли-небудь хотілося запустити щось інше, ніж вікна поруч? Я використовую шість вікон, розкладених на двох моніторах - я використовую github.com/Lindydancer/multicolumn для установки вікон, коли я запускаю Emacs і налаштував більшість моїх пакетів для повторного використання існуючих вікон.
Lindydancer

Відповіді:


13

Ось проста функція, яка переключатиметься між горизонтальним та вертикальним поділом. Він передбачає, що у вас є лише два вікна, і не змінюється розмір:

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

14

Крім того, tranpose-frameна EmacsWiki є пакет, який дозволить перенести весь кадр, а також зробити інші перетворення (повернути на 180 градусів; обертати на 90 градусів за годинниковою стрілкою або проти годинникової стрілки; перевернути горизонтально або вертикально).


9

transpose-frameПакет доступний на MELPA , а також.

Використовуйте M-x transpose-frameабо прив'яжіть його до чогось для цього.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.