Elisp:分割窗口并将光标移动到新窗口的简单功能

时间:2014-10-28 08:05:52

标签: 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会话上)尝试了它,它运行正常。 (取出progn并输入(interactive)也未解决此问题 - 我已更新上述代码以反映此更改。)

更新2:好的,这真是太傻了。以下代码工作正常,但我仍然无法使上面的defun代码工作。如果有人有想法,仍然会非常好奇地了解造成这种行为的原因。

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

1 个答案:

答案 0 :(得分:1)

无需progn,但您需要interactive

(defun dc/split-window-below-and-move-cursor ()
  (interactive)
  (split-window-below)
  (other-window 1))