2017-05-18 6 views
0

Ich frage mich, ob es eine Möglichkeit gibt, in Emacs Lisp zu springen, um zurück zum letzten aktiven Fenster zu springen, so wie popd in Linux tun würde? Der Grund, warum ich frage, ist, dass in einigen Umgebungen zur Bewertung von Code (z. B. babel-repl) der Bearbeitungsbereich für den Quellcode den Fokus auf die REPL verliert, sobald die REPL gestartet wurde. Ich möchte sein Verhalten ändern und den Fokus zurück auf den Bearbeitungsbereich schalten, z. B. durch Hinzufügen eines zusätzlichen Befehls in elisp, um zu dem letzten aktiven Fenster vor dem Starten der REPL zurückzuspringen.emacs zum letzten aktiven Fenster wechseln?

Antwort

1

previous-window oder get-mru-window sollte tun, was Sie wollen. Sie können dann mit

(select-window (previous-window)) 
0

wechseln Wenn Sie nur den aktiven Puffer in Schalen interessiert sind, können Sie verwenden:

(defun prev-window() 
    (interactive) 
    (other-window -1)) 
(global-set-key [(f12)] 'prev-window) 

(global-set-key "\C-cp" 'prev-window) 
(global-set-key "\C-cn" 'other-window) 

Ich habe dies in meiner ~/.emacs-Datei. CTRL + C dann p (oder F12) zum vorherigen Puffer zu gehen. CTRL + C dann n um zum nächsten Puffer zu gelangen. Mit der Funktion other-buffer können Sie den zuletzt besuchten Puffer erneut aufrufen. Wenn Sie eine negative Zahl angeben, können Sie die Reihenfolge, in der sie die Pufferliste durchlaufen, umkehren.

Verwandte Themen