繁体   English   中英

如何选择用于emacs的方案?

[英]How to choose what scheme to use for emacs?

我在〜/ .emacs中有以下代码用于运行scheme(gosh和mit-scheme)。

;(setq scheme-program-name "gosh -i")
(setq scheme-program-name "mit-scheme")
(autoload 'scheme-mode "cmuscheme" "Major mode for scheme." t)
(autoload 'run-scheme "cmuscheme" "Run an inferior scheme process." t)

(defun scheme-other-window ()
 "Run scheme on other window"
 (interactive)
 (switch-to-buffer-other-window
  (get-buffer-create "*scheme*"))
 (run-scheme scheme-program-name))

(define-key global-map
  "\C-cs" 'scheme-other-window)

Cc以“scheme-program-name”指定的REPL方式启动方案,并通过注释掉一个或另一个来选择要使用的方案。

还有比这更好的方法吗? 我的意思是,我可以选择使用“Mx”或其他什么方案吗?

如果您使用前缀参数调用run-scheme ,它将询问您要运行哪个方案 - 您可以通过运行它来伪造它

(let ((current-prefix-arg 1)) (call-interactively 'run-scheme))

quack.el可能是更好的解决方案,但如果你想继续使用run-scheme,这个版本的函数包括Eli的建议并且确实有效。

(defun scheme-other-window ()
  "Run scheme on another window"
  (interactive)
  (switch-to-buffer-other-window
   (get-buffer-create "*scheme*"))
  ;; This causes run-scheme to act as if C-u had been entered before it was called.
  (let ((current-prefix-arg 1)) 
    (call-interactively 'run-scheme)))

看看quack.el-它有一个更好的Scheme模式,并查询你想要运行的Scheme。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM