如何在.emacs中定义函数?

why*_*why 5 emacs

我在.emacs中定义了一个函数,我想在输入f12时激活ECB并转到目录,但它不起作用

(defun my-toggle-ecb ()
   (ecb-activate)
   (ecb-goto-window-directories)
  )

(global-set-key (kbd "<f12>") 'my-toggle-ecb)
Run Code Online (Sandbox Code Playgroud)

db4*_*48x 10

是的,这是Emacs奇怪的怪癖之一.除非您声明某个函数是交互式的,否则无法直接调用它.幸运的是这很容易:

(defun my-toggle-ecb ()
  (interactive)
  (ecb-activate)
  (ecb-goto-window-directories))
Run Code Online (Sandbox Code Playgroud)

你的键绑定保持不变.玩得开心!

  • 原因:有关更多详细信息,请参阅`Ch f interactive RET`,以及如何使用`interactive`从用户(或其他方式)获取参数. (3认同)