32
Window A
++++++++
Window B

Is there a way to switch to

Window A : Window B

Is there a way to switch view without closing windows?

  • 1
    With the large screens of today, why would one ever want to run something other than side-by-side windows? I use six windows spread out over two monitorns -- I use github.com/Lindydancer/multicolumn to set up the windows when I start Emacs and have configured most of my packages to reuse existing windows. – Lindydancer Nov 15 '16 at 10:42
  • 3
    Possible duplicate of Switch window split orientation, fastest way – TooTone Mar 18 '18 at 12:04
  • 1
    @Lindydancer it's not a good idea to second guess other people's needs based on your HW utilisation. How about some people stack monitors rather than have them side by side? ;) – RichieHH Feb 21 at 22:23
13

Here's a simple function that will toggle between a horizontal and vertical split. It assumes you've only got two windows, and doesn't do any resizing:

(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))))))
| improve this answer | |
18

Alternatively, there's a tranpose-frame package on EmacsWiki that will allow you to transpose the whole frame, as well as do other transformations (rotate by by 180 degrees; rotate by 90 degrees clockwise or counterclockwise; flip horizontally or vertically).

| improve this answer | |
13

The transpose-frame package is available on MELPA as well.

Use M-x transpose-frame, or bind it to something to accomplish this.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.