2011-12-27 10 views

Respuesta

4

utilizo following snippet taken from Emacs wiki:

(defun toggle-window-split() 
    (interactive) 
    (if (= (count-windows) 2) 
     (let* ((this-win-buffer (window-buffer)) 
     (next-win-buffer (window-buffer (next-window))) 
     (this-win-edges (window-edges (selected-window))) 
     (next-win-edges (window-edges (next-window))) 
     (this-win-2nd (not (and (<= (car this-win-edges) 
        (car next-win-edges)) 
        (<= (cadr this-win-edges) 
        (cadr next-win-edges))))) 
     (splitter 
      (if (= (car this-win-edges) 
      (car (window-edges (next-window)))) 
      'split-window-horizontally 
     'split-window-vertically))) 
    (delete-other-windows) 
    (let ((first-win (selected-window))) 
     (funcall splitter) 
     (if this-win-2nd (other-window 1)) 
     (set-window-buffer (selected-window) this-win-buffer) 
     (set-window-buffer (next-window) next-win-buffer) 
     (select-window first-win) 
     (if this-win-2nd (other-window 1)))))) 

(define-key ctl-x-4-map "t" 'toggle-window-split) 

sólo hay que poner esto en init.el y utilizar Ctrl - xt.

3

Ha preguntado acerca de las ventanas de mosaico en un marco. Otros le responderán directamente sobre eso (C-x 3 es un comienzo). Pero también es posible que desee saber que puede usar marcos separados y tile the frames en toda la pantalla.

6

La biblioteca Transpose Frame proporciona un excelente conjunto de funciones para la manipulación de las ventanas en un marco (cualquiera de transpose-frame, rotate-frame-clockwise o rotate-frame-anti-clockwise sería suficiente para su ejemplo particular).

Existen otras alternativas, pero esta biblioteca me parece bastante completa. Vea la página Wiki (o el Comentario en el código) para obtener dibujos ascii de lo que hace cada función.

Cuestiones relacionadas