2013-10-19 11 views
7

Ich habe einen Puffer, den ich in einem Fenster in Emacs auf einem Tastendruck "umschalten" möchte.Emacs, ein bestimmtes Fenster umschalten

Zum Beispiel:

________________  ________________  ________________ 
|    |  | |   |  |    | 
|    |  | |   |  |    | 
|    |  | |   |  |    | 
|  W  | -> | S |  W  | -> |  W  | 
|    | <f3> | |   | <f3> |    | 
|    |  | |   |  |    | 
----------------  ----------------  ---------------- 

Wo S in dem linken Seitenfenster einen bestimmten Puffer ist.

Das Problem entsteht, dass dies unabhängig davon geschehen sollte, was die Fensterstruktur von W ist. Wenn W ein paar verschiedene Fenster enthält, sollte durch Drücken von immer noch ein neues Fenster am Rand des Bildschirms erstellt und der spezifische Puffer darin eingefügt werden, und dann sollte es entfernt werden.

Ich bin nicht wirklich sicher, wie dies zu tun ist, ist Emacs jedoch.

Antwort

6

Versuchen Sie dies als Ausgangspunkt, es benötigt Paket popwin.

(require 'popwin) 
(popwin-mode 1) 

(generate-new-buffer "special-buffer") 

(setq eab/special-buffer-displaedp nil) 
(setq eab/special-buffer "special-buffer") 

(add-to-list 'popwin:special-display-config 
     `(,eab/special-buffer :width 20 :position left :stick t))  

(defun eab/special-buffer-toggle() 
    (interactive) 
    (if eab/special-buffer-displaedp 
     (progn 
     (popwin:close-popup-window) 
     (setq eab/special-buffer-displaedp nil)) 
    (progn 
     (ignore-errors (popwin:display-buffer eab/special-buffer)) 
     (setq eab/special-buffer-displaedp 't)))) 

(global-set-key (kbd "<f3>") 'eab/special-buffer-toggle) 
+0

Tolles Paket! Danke für den Vorschlag. –

+0

Vermutlich bezieht sich das auf: http://www.emacswiki.org/emacs/PopWin – phils

Verwandte Themen