Come cambiare le finestre di Emacs da divisione verticale a divisione orizzontale?


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

C'è un modo per passare a

Window A : Window B

C'è un modo per cambiare vista senza chiudere le finestre?


1
Con i grandi schermi di oggi, perché mai si dovrebbe voler eseguire qualcosa di diverso dalle finestre affiancate? Uso sei finestre distribuite su due monitorns: utilizzo github.com/Lindydancer/multicolumn per impostare le finestre all'avvio di Emacs e ho configurato la maggior parte dei miei pacchetti per riutilizzare le finestre esistenti.
Lindydancer,

Risposte:


13

Ecco una semplice funzione che commuta tra una divisione orizzontale e verticale. Presuppone che tu abbia solo due finestre e non esegue alcun ridimensionamento:

(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

In alternativa, c'è un tranpose-framepacchetto su EmacsWiki che ti permetterà di trasporre l'intero fotogramma, così come altre trasformazioni (ruota di 180 gradi; ruota di 90 gradi in senso orario o antiorario; capovolgi orizzontalmente o verticalmente).


9

Il transpose-framepacchetto è disponibile anche su MELPA .

Usa M-x transpose-frameo associalo a qualcosa per raggiungere questo obiettivo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.