Avec les grands écrans d'aujourd'hui, pourquoi voudrait-on jamais faire autre chose que des fenêtres côte à côte? J'utilise six fenêtres réparties sur deux monitorns - j'utilise github.com/Lindydancer/multicolumn pour configurer les fenêtres lorsque je démarre Emacs et j'ai configuré la plupart de mes packages pour réutiliser les fenêtres existantes.
Voici une fonction simple qui bascule entre une division horizontale et verticale. Il suppose que vous n'avez que deux fenêtres et ne fait aucun redimensionnement:
(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))))))
Alternativement, il y a un tranpose-framepackage sur EmacsWiki qui vous permettra de transposer l'ensemble du cadre, ainsi que d'autres transformations (rotation de 180 degrés; rotation de 90 degrés dans le sens horaire ou antihoraire; basculement horizontal ou vertical).
Réponses:
Voici une fonction simple qui bascule entre une division horizontale et verticale. Il suppose que vous n'avez que deux fenêtres et ne fait aucun redimensionnement:
la source
Alternativement, il y a un
tranpose-frame
package sur EmacsWiki qui vous permettra de transposer l'ensemble du cadre, ainsi que d'autres transformations (rotation de 180 degrés; rotation de 90 degrés dans le sens horaire ou antihoraire; basculement horizontal ou vertical).la source
Le
transpose-frame
package est également disponible sur MELPA .Utilisez
M-x transpose-frame
-le ou liez-le à quelque chose pour accomplir cela.la source