Node.js Emacs-加载模块后绑定密钥

Node.js Emacs-加载模块后绑定密钥,node.js,emacs,Node.js,Emacs,我想为emacs设置Node.js keybindings REPL。我看了一下,现在可以打开一个REPL并使用该命令执行代码 但是,我不知道如何将例如C-C-e绑定到此命令。我想我必须使用comint模式。我试过: (需要“nodejs repl”) ;; 在节点模式行中绑定快捷方式 (加载后评估'nodejs repl (lambda()(本地设置键(kbd“C-C-e”)#'nodejs-repl-send-region))) 加载库后,您正在绑定当前本地的密钥映射中的密钥。加载库很可能会

我想为emacs设置Node.js keybindings REPL。我看了一下,现在可以打开一个REPL并使用该命令执行代码

但是,我不知道如何将例如
C-C-e
绑定到此命令。我想我必须使用
comint模式
。我试过:

(需要“nodejs repl”)
;; 在节点模式行中绑定快捷方式
(加载后评估'nodejs repl
(lambda()(本地设置键(kbd“C-C-e”)#'nodejs-repl-send-region)))

加载库后,您正在绑定当前本地的密钥映射中的密钥。加载库很可能会而不是打开您真正想要绑定密钥的密钥映射的模式。至少这是典型的,它对应于,它说:

仅仅加载一个包不应该改变Emacs的编辑 行为。包括一个或多个用于启用和禁用的命令 功能,或调用它

此约定对于包含自定义文件的任何文件都是强制性的 定义。如果要按照此约定修复此类文件 需要一个不兼容的更改,请继续并使该更改不兼容 改变不要推迟

相反,您要做的是使用
define key
,将密钥绑定到正确的keymap中,并希望在模式挂钩中执行此操作

(需要“nodejs repl”)
(定义键nodejs repl模式映射(kbd“C-C-e”)#“nodejs-repl-send-region)

注意,
eval after load
采用带引号的形式进行评估
lambda
是自引用的,所以这不是一个错误,但是对lambda求值仅仅定义了一个函数——它不执行它,所以该函数的主体永远不会被求值。您需要
(加载'nodejs repl'(定义键…)后求值)