Respuestas:
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)
C-x4bejecuta lo switch-to-buffer-other-window
que 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))