我试图将这些添加到我的.emacs中,但它们似乎没有效果
(local-set-key (kbd "C-x C-e") 'scheme-send-last-sexp )
(local-set-key (kbd "C-M-x") 'scheme-send-definition )
Run Code Online (Sandbox Code Playgroud)
当我在.scm缓冲区中尝试Cx Ce时,我正在使用嘎嘎并且在一个缓冲区中运行MIT-Scheme.我没有评估最后的s表达式,而是"你必须用run-ilisp开始一个劣质的LISP".但是如果我手动添加快捷方式:
M-x local-set-key RET C-x C-e scheme-send-last-sexp RET
M-x local-set-key RET C-M-x scheme-send-definition RET
Run Code Online (Sandbox Code Playgroud)
有用.如何在不手动输入的情况下在Emacs(23.3.1)中获得此功能?
local-set-keylocal-set-key是一个交互式编译的Lisp函数
subr.el.(local-set-key KEY COMMAND)
...略...
绑定进入当前缓冲区的本地映射,在大多数情况下,该映射与相同主模式下的所有其他缓冲区共享.
因此,当您添加local-set-key到init文件时,绑定是在该文件加载时使用的任何主要模式下进行的.
您需要将其添加到一个特定的主模式.为此,您需要两条信息:
mit-scm-mode-map到此以获取键映射.mit-scm-mode.el.有了这些,你会添加:
(eval-after-load "mit-scm-mode"
'(progn
(define-key mit-scm-mode-map (kbd "C-x C-e") 'scheme-send-last-sexp )
(define-key mit-scm-mode-map (kbd "C-M-x") 'scheme-send-definition )))
Run Code Online (Sandbox Code Playgroud)
到你的init文件.