Emacs Elisp:分割窗口并将光标移动到新窗口的简单函数

Emacs Elisp:分割窗口并将光标移动到新窗口的简单函数,emacs,elisp,Emacs,Elisp,我觉得发这个帖子很傻,但我真的不知道为什么这个函数不能编译: (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

我觉得发这个帖子很傻,但我真的不知道为什么这个函数不能编译:

(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
并放入
(交互式)
也无法解决此问题-我已更新了上面的代码以反映此更改。)

更新2:好吧,这太傻了。下面的代码工作正常,但我仍然无法使上面的
defun
代码正常工作。如果有人有想法的话,我仍然很想知道是什么导致了这种行为

(global-set-key (kbd "s--") (lambda() (interactive) (split-window-below) (other-window 1)))

不需要
progn
,但您需要
交互式

(取消下面的dc/split窗口并移动光标()
(互动)
(下面是拆分窗口)
(其他窗口(1))

关于未来的问题:Emacs现在在stackexchange网络中有自己的站点()不幸的是,没有骰子。lambda版本——这是我最初在
init
文件中使用的版本——运行良好。但移动到显式函数的原因是出于文档目的(即,现在,当我调用help/descripe键命令时,我看到一个丑陋的lambda表达式代替了定义)。
(下面的全局设置键(kbd“s-”)的dc/split窗口和移动光标)
对我来说很有用……我的emacs完全崩溃了。(windows随机关闭自己,等等;在我通过
emacs-q
运行之后,它继续运行)emacs 24的安装似乎已经损坏了东西。谢谢你的努力。