Emacs实现按一下按两下功能不同的写法

有人问 如何在Emacs里实现按一下按两下执行的功能不一样呢 当时我没电脑所以没有写 今天有时间 写一下

其实很简单 如果上一个命令和这一个命令是一样的 那么就是按两下了 不过还不够好 因为后面都认为是按两下 所以其实是「按一下」和「按多下」 例子是下面的样子

1
2
3
4
5
6
7
(defun my-repeat ()
"Repeat function demo."
(interactive (if (equal last-command this-command)
(insert "摁了两下\n")
(insert "摁了一下\n"))))
(local-set-key [f9] (quote my-repeat))

eval一下 自己操作一下 就明白了