Öffne ein neues Fenster und wechsle dorthin

8

Angenommen, ich öffne zum Beispiel ein neues Fenster mit C-x 2oder C-x 3dann öffnet sich der Puffer und ich muss von Hand mit darauf wechseln C-x o. Gibt es eine integrierte Lösung, um dies mit einem Befehl zu tun? Oder sogar das oben Genannte zu modifizieren wäre auch cool.

Daeda
quelle

Antworten:

9

Der folgende Code, der von Dawid Eckert geschrieben und in seiner github emacs.config veröffentlicht wurde, bewegt den Cursor auf den neu erstellten Puffer:

(defun split-and-follow-horizontally ()
  (interactive)
  (split-window-below)
  (balance-windows)
  (other-window 1))
(global-set-key (kbd "C-x 2") 'split-and-follow-horizontally)

(defun split-and-follow-vertically ()
  (interactive)
  (split-window-right)
  (balance-windows)
  (other-window 1))
(global-set-key (kbd "C-x 3") 'split-and-follow-vertically)
Manandearth
quelle
8

C-x4bwird ausgeführt, switch-to-buffer-other-windowwodurch zum angegebenen Puffer gewechselt wird (es wird jedoch nur ein Puffer angezeigt).

Für ein komplexeres Verhalten müssten Sie die Funktion selbst implementieren. Sie können die Implementierung der zuvor genannten Funktion als Inspiration nachschlagen:

(defun switch-to-buffer-other-frame (buffer-or-name &optional norecord)
  "..."
  (interactive
   (list (read-buffer-to-switch "Switch to buffer in other frame: ")))
  (pop-to-buffer buffer-or-name display-buffer--other-frame-action norecord))
Choroba
quelle