Como alterar as janelas do Emacs de divisão vertical para divisão horizontal?


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

Existe uma maneira de mudar para

Window A : Window B

Existe uma maneira de mudar de exibição sem fechar as janelas?


11
Com as telas grandes de hoje, por que alguém iria querer executar algo diferente de janelas lado a lado? Uso seis janelas espalhadas por duas monitorns - uso github.com/Lindydancer/multicolumn para configurar as janelas quando inicio o Emacs e configurei a maioria dos meus pacotes para reutilizar as janelas existentes.
Lindydancer

Respostas:


13

Aqui está uma função simples que alterna entre uma divisão horizontal e vertical. Ele assume que você só tem duas janelas e não redimensiona:

(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

Como alternativa, existe um tranpose-framepacote no EmacsWiki que permitirá transpor todo o quadro, bem como realizar outras transformações (gire 180 graus; gire 90 graus no sentido horário ou anti-horário; gire horizontal ou verticalmente).


9

O transpose-framepacote também está disponível no MELPA .

Use M-x transpose-frameou vincule-o a algo para fazer isso.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.