Emacs方案评估最后一个sexp
我试图将这些添加到我的.emacs中,但它们似乎没有效果Emacs方案评估最后一个sexp,emacs,mit-scheme,Emacs,Mit Scheme,我试图将这些添加到我的.emacs中,但它们似乎没有效果 (local-set-key (kbd "C-x C-e") 'scheme-send-last-sexp ) (local-set-key (kbd "C-M-x") 'scheme-send-definition ) 当我在一个.scm缓冲区中尝试C-xc-e时,我使用的是江湖医生,并让MIT方案在一个缓冲区中运行。我没有计算最后一个s表达式,而是得到“您必须用run ilisp启动一个低级LISP”。但是如果我手动添加快捷方式:
(local-set-key (kbd "C-x C-e") 'scheme-send-last-sexp )
(local-set-key (kbd "C-M-x") 'scheme-send-definition )
当我在一个.scm缓冲区中尝试C-xc-e时,我使用的是江湖医生,并让MIT方案在一个缓冲区中运行。我没有计算最后一个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
它起作用了。如何在Emacs(23.3.1)中获得此功能而不手动输入?C-h flocal set key
本地设置键是subr.el
中的一个交互式编译Lisp函数
(本地设置键命令)
…剪断
绑定在当前缓冲区的本地映射中,
在大多数情况下,它与同一主模式中的所有其他缓冲区共享
因此,当您向init文件添加localset key
时,绑定是在
加载文件时使用的任何主要模式
您需要将其添加到一个特定的主模式。要做到这一点,你需要两件
资料来源:
- 从已加载主模式的缓冲区使用C-h vmajor模式
- 让我们假设
mit scm模式
- 将
附加到此项以获取密钥映射-map
- 使用C-h fmit scm模式
- 让我们假设
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 )))
到您的初始文件。C-h flocal set key
本地设置键是subr.el
中的一个交互式编译Lisp函数
(本地设置键命令)
…剪断
绑定在当前缓冲区的本地映射中,
在大多数情况下,它与同一主模式中的所有其他缓冲区共享
因此,当您向init文件添加localset key
时,绑定是在
加载文件时使用的任何主要模式
您需要将其添加到一个特定的主模式。要做到这一点,你需要两件
资料来源:
- 从已加载主模式的缓冲区使用C-h vmajor模式
- 让我们假设
mit scm模式
- 将
附加到此项以获取密钥映射-map
- 使用C-h fmit scm模式
- 让我们假设
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 )))
这就是我在Debian 10 buster上对股票Emacs 26.1所做的
(eval-after-load "scheme"
'(progn
(load "cmuscheme")
(define-key scheme-mode-map (kbd "C-x C-e") (lambda () (interactive) (scheme-send-last-sexp)))
(define-key scheme-mode-map (kbd "C-M-x") (lambda () (interactive) (scheme-send-definition)))))
我通过仔细研究得出了这个结论。基于上面的伟大答案,这就是我在Debian 10 buster上使用股票Emacs 26.1所要做的
(eval-after-load "scheme"
'(progn
(load "cmuscheme")
(define-key scheme-mode-map (kbd "C-x C-e") (lambda () (interactive) (scheme-send-last-sexp)))
(define-key scheme-mode-map (kbd "C-M-x") (lambda () (interactive) (scheme-send-definition)))))
我是通过仔细研究才弄出来的