如何在Emacs Lisp脚本中调用“:vsp”?

如何在Emacs Lisp脚本中调用“:vsp”?,emacs,evil-mode,Emacs,Evil Mode,假设我有一个Emacs Lisp脚本,我使用M-x eval buffer执行它。在这个脚本中,我想调用几次:vsp(垂直拆分) 如何以编程方式执行此操作? C-hk将我带到命令。但是,我找不到类似于vsp或split的内容 更新1: 我在中找到了邪恶窗口vsplit 但是,它的工作方式不同于:vsp。如果我执行脚本 (evil-window-split) (evil-window-vsplit) (evil-window-down 1) (evil-window-split) (evil-w

假设我有一个Emacs Lisp脚本,我使用
M-x eval buffer
执行它。在这个脚本中,我想调用几次
:vsp
(垂直拆分)

如何以编程方式执行此操作?

C-hk
将我带到命令。但是,我找不到类似于
vsp
split
的内容

更新1:

我在中找到了
邪恶窗口vsplit

但是,它的工作方式不同于
:vsp
。如果我执行脚本

(evil-window-split)
(evil-window-vsplit)
(evil-window-down 1)
(evil-window-split)
(evil-window-vsplit)
(evil-window-vsplit)
该窗口如下图所示

如果我手动执行命令
C-w s
:vsp
,和
C-w j
,结果如下:

更新2:看起来是
(邪恶窗口关闭1)
导致了问题

原因如下:如果我运行脚本

(evil-window-split)
(evil-window-vsplit)
(evil-window-down 1)
(evil-window-split)
(evil-window-vsplit)
(evil-window-vsplit)
我得到了正确的结果(窗口水平分为两部分,上部分为三部分)。底部部分未拆分,因为脚本中没有拆分它的命令

然后,我添加了导航到水平分割底部的命令(
(邪恶窗口向下1)
,相当于
C-w j
):

这个脚本产生了错误的结果:不仅上半部分被分成三部分(就像应该的那样),而且下半部分也被分成三部分(不应该被分割)


更新3:如果我使用
M-x加载文件执行脚本,则不会发生上述错误,这很有趣。如果您单独执行这三个命令,它将给出您要查找的结果。但是,如果您
eval buffer
,则生成的窗口布局会发生变化。编辑:如果将三个命令包装在
progn
中,则该命令有效。删除
(邪恶窗口向下1)
也可以从
评估缓冲区中执行此操作。奇怪的