Emacs Elisp (другое окно 0)

Я пытаюсь написать функцию гидры для переключения окон. По сути, я хочу, чтобы Cx o перенес меня в другое окно, и тогда "o" будет циклически проходить через все окна. Поэтому я положил в.emacs

(global-set-key
   (kbd "C-x o")
   (defhydra hydra-other-window (:pre (other-window 1))
     "hydra other window"
     ("o" (other-window 1) "Next window")))

Это не работает. C-x o переводит меня в другое окно, но нажатие "o" ничего не делает. Однако, если я изменю 1 в последней строке на 0, он будет работать как положено. Это довольно удивительно, потому что согласно документации, (другое окно 0) будет просто выбирать в текущем окне. Есть ли хорошее объяснение этому? Любая помощь будет оценена.

1 ответ

Решение

Вы можете использовать более простой код:

(defhydra hydra-other-window (global-map "C-x")
  "hydra other window"
  ("o" (other-window 1) "Next window"))
Другие вопросы по тегам