Emacs定义函数使用参数调用其他窗口不起作用

时间:2015-10-21 17:55:47

标签: emacs

在Emacs中,我想定义一个lisp函数来调用带有参数-1的other-window,以便切换到同一帧中的前一个窗口。根据我的最佳研究,应该可以在我的emacs文件中执行以下操作:

(defun previous-window ()
  (interactive)
  (other-window -1))

但是,当我运行该功能时:

M-x previous-window

我明白了:

Wrong number of arguments: (lambda nil (interactive) (other-window -1)), 3

另外,奇怪的是,现在当我这样做时:

C-u - C-x o

我明白了:

Wrong number of arguments: (lambda nil (interactive) (other-window -1)), 3

如果我从emacs文件中删除了上述函数定义,请执行以下操作:

C-u - C-x o

行为符合预期。

在emacs中似乎没有先前窗口的先前定义。

在这里抓我的头。

1 个答案:

答案 0 :(得分:0)

您可以使用C-u - C x o(其中C x oother-window的正常键绑定,但您的M-x other-window方法更长),-本身表示数字前缀参数为-1。