Abre una nueva ventana y cambia a ella

8

Supongamos que estoy abriendo una nueva ventana con, por ejemplo, C-x 2o C-x 3luego se abre el búfer y necesito cambiar a mano con C-x o. ¿Existe una solución integrada para hacer esto con un comando? O incluso modificar lo anterior también sería genial.

daeda
fuente

Respuestas:

9

El siguiente código escrito por Dawid Eckert y publicado en su github emacs.config mueve el cursor al búfer recién creado:

(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
fuente
8

C-x4bejecuta lo switch-to-buffer-other-windowque cambia al búfer especificado (pero lo crea solo solo se muestra un búfer).

Para un comportamiento más sofisticado, tendría que implementar la función usted mismo. Puede buscar la implementación de la función mencionada anteriormente en busca de inspiración:

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