awesome-tab 结合hydra

这个功能按键太多,可否提供一个常用的hydra例子,看起来命令太多,能否利用hydra把常用的命令集中起来,方便操作。

前三个帖子应该能找到一些参考:https://emacs-china.org/search?q=hydra

或者: Home · abo-abo/hydra Wiki · GitHub

我把这些(和其他自定义的)函数整理后绑定到了super,目前看比替换不常用的alt组合效果好一点:一般不会有冲突,而且我的win键长得本身跟别的不一样,好按 :grin:

我之前定义了一个这样的hydra:

(defhydra hydra-awesome-tab (:color pink
                                    :hint nil
                                    :columns 3
                                    :exit nil)
  "awesome tab keys"

  ("s" awesome-tab-other-group "switch-other-group")
  ("S" awesome-tab-build-ivy-source "switch-group")

  ("SPC" awesome-tab-switch-to-buffer-of-current-group "switch-group" :exit t)
  ("S-SPC" awesome-tab-switch-to-buffer-of-current-group "switch-group")

  ("o" find-file "open-file")
  ("O" find-file "open-file" :exit t)

  ("TAB" ivy-switch-buffer "switch buffer")
  ("<backtab>" ivy-switch-buffer "switch buffer" :exit t)

  ("h" awesome-tab-select-beg-tab "beg-tab")
  (";" awesome-tab-select-end-tab "end-tab")
  ("j" awesome-tab-backward "tab-back")
  ("<S-left>" awesome-tab-backward "tab-back")
  ("l" awesome-tab-forward "tab-forw")
  ("<S-right>" awesome-tab-forward "tab-forw")

  ("L" awesome-tab-move-current-tab-to-right "group-back")
  ("J" awesome-tab-move-current-tab-to-left "group-forw")

  ("<C-S-left>" awesome-tab-move-current-tab-to-left "move to left")
  ("<C-S-right>" awesome-tab-move-current-tab-to-right "move to right")
  ("<C-backspace>" awesome-tab-kill-all-buffers-in-current-group "kill-all")

  ("<return>" nil "cancel")
  ("q" nil "cancel")
  ("c" nil "cancel"))

可以根据你的需要简单改下。

但是我没用。还是不习惯用tab. :slight_smile: