0

我想F5切换到最近使用的缓冲区。此功能是通过运行M-x icicle-buffer然后按回车键来完成的,以指定我要切换到的缓冲区——(icicle 的默认行为是切换到最近的缓冲区。)

我试过编辑我的.emacs

(defun most-recent-buffer-please ()
  (interactive)
  (icicle-buffer " "))

(global-set-key [(f5)] 'most-recent-buffer-please)

但是当我评估这个 lisp,然后点击F5时,我得到一个错误,该错误Wrong number of arguments以很多乱码字符开头。我究竟做错了什么?

4

1 回答 1

1

函数可以有强制和/或可选参数,或者根本没有参数。编写时elisp,最好通过键入找出某些函数可用的参数M-x describe-function RET [name of the function] RET。Drew(Icicles 的作者)在原始问题下方的评论中指出,该函数icicle-buffer并非旨在与任何参数一起使用 - 因此,添加" "会导致原始发布者遇到的错误消息。

为了切换到前一个缓冲区,Emacs 已经有一个名为previous-buffer. 由于原始海报已表明对f5键的偏好,以下是如何配置该键盘快捷键以使其触发的示例previous-buffer- 括号就足够了,原始海报周围使用的括号f5可以省略:

 (global-set-key [f5] 'previous-buffer)
于 2015-05-08T04:13:51.150 回答