将邪恶Ex命令映射到;ei";在Emacs中

将邪恶Ex命令映射到;ei";在Emacs中,emacs,evil-mode,Emacs,Evil Mode,在Emacs邪恶模式下,我试图将字符串“ei”绑定到打开init文件的ex命令。这就是我想到的: (defun edit-init () (find-file "~/.emacs")) (evil-ex-define-cmd "ei" 'edit-init) 当我尝试运行ex命令(使用“:ei”)时,Emacs告诉我“未知命令”ei) 我检查了evil ex commands变量,新命令正确地存储在列表中。如下所示: ("ei" . edit-init) 我的第一个想法是用于编辑的默认ex命

在Emacs邪恶模式下,我试图将字符串“ei”绑定到打开init文件的ex命令。这就是我想到的:

(defun edit-init () (find-file "~/.emacs"))
(evil-ex-define-cmd "ei" 'edit-init)
当我尝试运行ex命令(使用“:ei”)时,Emacs告诉我“未知命令”ei)

我检查了evil ex commands变量,新命令正确地存储在列表中。如下所示:

("ei" . edit-init)
我的第一个想法是用于编辑的默认ex命令“e”以某种方式干扰了该命令,但是我尝试将“ew”绑定到其他窗口,效果很好

我是否遗漏了一些关于邪恶的ex命令是如何创建的?对可以使用的字符有限制吗


谢谢

您需要定义一个命令,而不仅仅是一个函数。换句话说,您的命令缺少一个
(交互式)
子句:

(defun edit-init ()
  (interactive)
  (find-file "~/.emacs"))