2

在 Emacs 中,如果我按下一次键盘组合,我想让键盘组合做一件事,如果我按下它两次,则做另一件事。除此之外,我不在乎(可能交替是最有意义的)。我知道如何使某些东西交替,但问题是,我希望它在我做其他事情时重置,以便按下快捷方式一次,移动光标,然后再次按下它会执行一次按下操作,而不是按下两次行动。

4

2 回答 2

3

last-command例如,您可以使用

(defun eab/etags-find-or-pop ()
  (interactive)
  (if (memq last-command '(eab/etags-find-or-pop))
      (call-interactively 'pop-tag-mark)
    (call-interactively 'etags-select-find-tag-at-point)))

(global-set-key (kbd "M-.") 'eab/etags-find-or-pop)

如果您按第M-.一次,它会调用一件事,如果M-. M-.(第二次)它会调用另一件事。

于 2013-10-25T04:50:29.123 回答
1

测试这种重复的常用方法是使用(eq this-command last-command).

于 2013-10-26T02:00:46.600 回答