emacs - 如何在 emacs 中编写键绑定(bind)以便于重复?

标签 emacs elisp

假设我将键绑定(bind)到某个函数,如下所示:

(global-set-key (kbd "C-c =") 'function-foo)

现在,我希望键绑定(bind)可以作为:
C-c =后第一次,如果我想重复函数-foo,我不需要按C-c再次,但只需重复按 = .然后,在我调用函数 foo 足够多次之后,我可以只按 = 以外的键。 (或明确按 C-g )退出。

这该怎么做?

最佳答案

这可能是您正在寻找的东西:

(defun function-foo ()
  (interactive)
  (do-your-thing)
  (set-temporary-overlay-map
    (let ((map (make-sparse-keymap)))
      (define-key map (kbd "=") 'function-foo)
      map)))

关于emacs - 如何在 emacs 中编写键绑定(bind)以便于重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17201738/

相关文章:

emacs - 确定模式行中的窗口焦点?

emacs - 每个 emacs 框架有不同的自定义主题(不是颜色主题)?

emacs - 我什么时候应该使用 `require` 一个包是 `autoload` ?

list - 将文件读入 elisp 中的对列表

c++ - emacs 从 Shell 切换到 gdb 或 pdb 模式

emacs - 使用 ispell 时如何更改 Emacs 中的语言?

emacs - emacs-24.1 中的 "Cannot open load file, color-theme"错误

emacs - 是否可以使用远程配置文件启动 emacs?

graphics - 如何在 Emacs 中绘制到 XY 位置?

emacs - 为什么 Emacs 中的 fixnums 只有 29 位?