slime-fancy没有加载emacs sbcl slime windows配置

时间:2012-07-30 17:42:21

标签: windows emacs slime sbcl

我在emacs 24.1中使用sbcl工作,但无法打开slime repl。

我可以使用Mx slime在 inferior-lisp 缓冲区中建立与sbcl的连接但是在编辑lisp文件时我无法调用slime-repl或获得一个不错的lisp自动缩进我正在加载.emacs中的slime-fancy contrib。启动时我没有收到任何错误消息。

当我尝试M-x slime-repl时,我得到[不匹配]​​。

我的.emacs文件:

(setq inferior-lisp-program "sbcl")
(add-to-list 'load-path "c:/home/bin/emacs/site-lisp/slime/")
(require 'slime)
(require 'slime-autoloads)
(slime-setup '(slime-fancy))

我使用此方法进行安装:

http://www.pchristensen.com/blog/articles/installing-sbcl-emacs-and-slime-on-windows-xp

我注意到一种模式,我用Python和Clojure尝试的几乎所有东西都按照描述工作,而且我尝试的几乎没有任何与常见的lisp工作相关的东西。我也试过了eclipse的尖点。如果Windows中常见的lisp有更新的东西,我愿意尝试另一种方法。

2 个答案:

答案 0 :(得分:2)

在使用Sujoy的答案并将其修改以使其工作之后,我意识到我的原始问题是由(require 'slime)语句引起的。以下.emacs文件使slime repl按预期打开。

(setq inferior-lisp-program "sbcl")
(require 'slime-autoloads)
(slime-setup '(slime-fancy))

答案 1 :(得分:0)

只有'史密斯幻想不会设置REPL。试试下面的代码片段。把它放在缓冲区和评估中。 当然,您也不需要设置hyperspec root,但这有很大帮助:)

编辑:错过了我正在使用的自动装载,所以这里是完整配置。

键绑定(使用次模式键映射,可以轻松使用全局映射)

(define-key my-keys-map (kbd "<f5>") 'slime)

autoloads

;; slime mode
(autoload 'slime "my-slime" "Slime mode." t)
(autoload 'slime-connect "my-slime" "Slime mode." t)

这是my-slime.el

(provide 'my-slime)
(eval-after-load "slime"
     (setq slime-lisp-implementations
     (slime-setup '(slime-asdf
                    slime-autodoc
                    slime-editing-commands
                    slime-fancy
                    slime-fontifying-fu
                    slime-fuzzy
                    slime-indentation
                    slime-mdot-fu
                    slime-package-fu
                    slime-references
                    slime-repl
                    slime-sbcl-exts
                    slime-scratch
                    slime-xref-browser))
     (slime-autodoc-mode)
     (setq slime-complete-symbol*-fancy t
           slime-complete-symbol-function 'slime-fuzzy-complete-symbol
           slime-when-complete-filename-expand t
           slime-truncate-lines nil
           slime-autodoc-use-multiline-p t)
     (add-hook 'lisp-mode-hook (lambda () (slime-mode t)))))
(require 'slime)