Abra uma nova janela e mude para ela

8

Suponha que estou abrindo uma nova janela com, por exemplo, C-x 2ou C-x 3então o buffer é aberto e preciso mudar para ela manualmente C-x o. Existe uma solução de compilação para fazer isso com um comando? Ou até mesmo modificar o acima seria legal também.

daeda
fonte

Respostas:

9

O código a seguir escrito por Dawid Eckert e publicado em seu github emacs.config move o cursor para o buffer recém-criado:

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

C-x4bexecuta o switch-to-buffer-other-windowque muda para o buffer especificado (mas o cria apenas há apenas um buffer exibido).

Para um comportamento mais sofisticado, você teria que implementar a função sozinho. Você pode procurar a implementação da função mencionada anteriormente para obter inspiração:

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