2013-02-14 10 views
20

Często przełączam się z poziomego widoku dwóch okien w emacs na widok pionowy. To wymaga ode mnie najpierw zrobienia C-x 1, a następnie C-x 3, a następnie C-x o, a następnie C-x b <RET>, aby przełączyć się na inny bufor lub coś w tym stylu. Chciałbym tylko wpisać C-x | (analogicznie jak w Ediff, uderzyłeś |, aby przełączyć widok podziału).Skrót Emacsa do przełączania z podziału poziomego na podział pionowy w jednym ruchu?

Znalazłem to w emacs stronie wiki: http://www.emacswiki.org/emacs/ToggleWindowSplit

Ale jak mam mapę, która na kluczowe combo chcę? Albo czy jest prostszy sposób na zrobienie tego (zajmowanie mniejszej przestrzeni .emacs).

Odpowiedz

19

Ostatnia linia to miejsce, w którym zdefiniowano kombinację klawiszy. Powinno być (global-set-key (kbd "C-x |") 'toggle-window-split)

+0

dzięki to działało! –

13

Ułatwienie dla innych osób, które również stało się szuka skryptu (w tym linku: http://www.emacswiki.org/emacs/ToggleWindowSplit), już modyfikowanych kombinacja klawiszy drugiej odpowiedź to:

(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)))))) 

(global-set-key (kbd "C-x |") 'toggle-window-split) 
Powiązane problemy