怎么对单按键及组合键在不覆盖原功能添加自己写的函数
而且 Normal Insert … 模式均不覆盖原功能添加
且是大量键添加
自己使用的是 Doom
怎么对单按键及组合键在不覆盖原功能添加自己写的函数
而且 Normal Insert … 模式均不覆盖原功能添加
且是大量键添加
自己使用的是 Doom
添加功能指的是在原功能完成前或完成后做一些其他的工作,还是说完全替换掉原功能?
如果是我上面说的那些的话,用 advice
能给一些原功能完成前或完成后例子吗
玩具例子:
(defun my-insert-advice (ls)
(if (cadr ls) (list (car ls) (1+ (cadr ls)))
ls))
(advice-add 'self-insert-command :filter-args
'my-insert-advice)
输入 a 得到 b,输入 b 得到 c 。。。。。。
还有更多的添加选项可以使用,比如调用前做事(:before
),调用后做事(:after
)等等。
(defun my-insert-advice-2 (n &optional c)
(when c (insert c)))
(advice-add 'self-insert-command :before 'my-insert-advice-2)
在插入字符的前面多插入一个相同字符,输入 a 得到 aa,输入 b 得到 bb。。。。。。