2

我有 sbcl 在 emacs 24.1 中工作的粘液,但无法打开粘液 repl。

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

当我尝试 Mx slime-repl 时,我得到 [No match]。

我的 .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 的 cusp。如果 windows 中的 common lisp 有更新的东西,我愿意尝试另一种方法。

4

2 回答 2

2

在玩了 Sujoy 的答案并将其修剪以使其正常工作后,我意识到我最初的问题是由该(require 'slime)声明引起的。以下 .emacs 文件让 slime repl 按预期打开。

(setq inferior-lisp-program "sbcl")
(require 'slime-autoloads)
(slime-setup '(slime-fancy))
于 2012-07-31T05:03:21.123 回答
0

只有 'slime-fancy 不会设置 REPL。试试下面的代码片段。将其放入缓冲区并进行评估。当然,您也不需要设置 hyperspec 根,但这很有帮助 :)

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

键绑定(使用次要模式键映射,可以很容易地使用全局映射)

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

自动加载

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

这是我的粘液.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)
于 2012-07-30T18:12:57.137 回答