使用参数调用其他窗口的Emacs定义函数不';行不通
在Emacs中,我想定义一个lisp函数来调用参数为-1的其他窗口,以便切换到同一帧中的上一个窗口。根据我的最佳研究,在我的emacs文件中应该可以按如下方式执行此操作:使用参数调用其他窗口的Emacs定义函数不';行不通,emacs,Emacs,在Emacs中,我想定义一个lisp函数来调用参数为-1的其他窗口,以便切换到同一帧中的上一个窗口。根据我的最佳研究,在我的emacs文件中应该可以按如下方式执行此操作: (defun previous-window () (interactive) (other-window -1)) 但是,当我运行该函数时: M-x previous-window 我明白了: Wrong number of arguments: (lambda nil (interactive) (other-
(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中似乎没有以前的窗口定义
我在这里挠头。你可以使用
C-u-cxo
(其中cxo
是other window
的正常键绑定,但是你较长的M-x other window
方法也可以工作),因为-
本身表示一个数字前缀参数-1。你可以使用C-u-cxo
(其中,cxo
是其他窗口
的正常键绑定,但较长的M-x其他窗口
方法也可以使用),因为-
本身表示数字前缀参数为-1。这会导致相同的错误,但..结果是.emacs文件中的某些内容导致所有这些内容引发错误。编辑问题..这会导致相同的错误,但..结果是.emacs文件中的某些内容导致所有这些内容引发错误。编辑question..我将自定义函数名的名称更改为previous wind,现在一切正常。似乎定义previous window与emacs中已定义但用户不可见的某些函数冲突。可能吗?仍想知道解释。函数previous window
是def在emacs源代码中定义。好的,这是解释,谢谢。对于这个问题的发现者来说:在emacs中定义的一些函数在minibuffer(M-x)中没有tab完成,或者在文档中没有显示(C-h a),您无法重新定义。我将自定义函数名的名称更改为previous wind,现在一切正常。定义以前的窗口似乎与emacs中已定义但用户不可见的某些函数冲突。是否可能?仍希望了解解释。函数previous window
是在emacs源代码中定义的。这里有解释,谢谢。对于这个问题的发现者来说:emacs中定义的一些函数在迷你缓冲区(M-x)中不完整,或者在文档(C-HA)中不显示,您无法重新定义。