我觉得这个是愚蠢的,但我真的不知道为什么这个函数不能编译:
(defun dc/split-window-below-and-move-cursor ()
(interactive)
(split-window-below)
(other-window 1))
我是否忽略了一些非常明显的东西?
以下是错误消息:
Symbol's function definition is void: split-window-below
更新:所以我在另一个文件(在一个新的Emacs会话上)尝试了它,它运行正常。 (取出progn
并输入(interactive)
也未解决此问题 - 我已更新上述代码以反映此更改。)
更新2:好的,这真是太傻了。以下代码工作正常,但我仍然无法使上面的defun
代码工作。如果有人有想法,仍然会非常好奇地了解造成这种行为的原因。
(global-set-key (kbd "s--") (lambda() (interactive) (split-window-below) (other-window 1)))
答案 0 :(得分:1)
无需progn
,但您需要interactive
:
(defun dc/split-window-below-and-move-cursor ()
(interactive)
(split-window-below)
(other-window 1))