快捷键管理
根据不同模式统一管理快捷键,这样可以不用复杂的组合快捷键来操作,有效的保护小手指。比如说,快捷键需要按 C-c C-v C-j
来操作某个命令时,如果按错键,会导致重复按多次,距离远的快捷键,小手指长期使用会很难受。
需求
解决方案
可以使用 pretty-hydra
包来自定义快捷键,将组合键缩短至单键,会变得很容易。 使用 pretty-hydra-define
宏来定义一个模式的快捷键了,也可以在 use-package
中使用 :pretty-hydra
属性来定义快捷键。
实现代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
(use-package pretty-hydra
:bind ("C-c <f1>" . toggles-hydra/body)
:init
(pretty-hydra-define toggles-hydra (:title "Toggles" :color amaranth :quit-key "q")
("Basic"
(("n" (if (fboundp 'display-line-numbers-mode)
(display-line-numbers-mode (if display-line-numbers-mode -1 1))
(global-linum-mode (if global-linum-mode -1 1)))
"line number"
:toggle (or (bound-and-true-p display-line-numbers-mode) global-linum-mode))
("a" global-aggressive-indent-mode "aggressive indent" :toggle t)
("d" global-hungry-delete-mode "hungry delete" :toggle t)
("e" electric-pair-mode "electric pair" :toggle t)
("c" flyspell-mode "spell check" :toggle t)
("s" prettify-symbols-mode "pretty symbol" :toggle t)
("l" global-page-break-lines-mode "page break lines" :toggle t)
("b" display-battery-mode "battery" :toggle t)
("i" display-time-mode "time" :toggle t)
("m" doom-modeline-mode "modern mode-line" :toggle t)))))
|