这是我第一次尝试为Emacs创建一个函数。
我创建了这个简单的函数:
(defun open-init-file ()
"Opens the ~/.emacs.d/init.el file"
(find-file user-init-file))
我把它放进去了:
~/.emacs.d/init.el
然后我跑了" eval-buffer"。
我没有收到任何错误消息。然而,我无法调用此功能。如果我输入M-x并输入" open-init-file"我被告知没有与该名称匹配的功能。
即使我把这个函数放在自己的缓冲区中,把光标放在最后,然后运行eval-last-sexp,这个函数仍然不会在Emacs中看到。
然而,如果我把它放在一个缓冲区中:
(find-file user-init-file)
如果我将光标放在此末尾然后运行eval-last-sexp,那么这就像我期望的那样工作。
我做错了什么?
答案 0 :(得分:4)
你应该和interactive
函数(a.k.a。命令)
(defun open-init-file ()
"Opens the ~/.emacs.d/init.el file"
(interactive)
(find-file user-init-file))
答案 1 :(得分:3)