我正在为emacs配置slime。到目前为止,我已经阅读了关于通用lisp的基本功能,例如C-c C-q
,它调用命令slime-close-parens-at-point
,该命令将鼠标所在的适当数量的parens放入。另一个看起来很酷的命令是由C-c C-c
调用的,它会将你在缓冲区中编辑的代码传递给REPL,并“编译”它。Common Lisp - 配置slime和emacs
为什么这些命令不适合我?
反正,我已经下载通过M-x list-packages
slime
和似乎并不具备此功能(C-h w
,然后这些命令的告诉我,这些命令的音符存在)。所以,我看到了一堆其他的粘液扩展,例如slime-repl', 'slime-fuzzy' and 'hippie-expand-slime'. So I again used
M-x list-packages`并下载了它们。
我还没有这些命令。这里是我的emacs的内容文件相关的煤泥:
;;;Common Lisp and Slime
(add-to-list 'load-path "/home/s2s2/.emacs.d/elpa/slime-20130626.1151")
(add-to-list 'load-path "/home/s2s2/.emacs.d/elpa/slime-repl-201000404")
(add-to-list 'load-path "/home/s2s2/.emacs.d/elpa/hippie-expand-slime-20130226.1656")
(add-to-list 'load-path "/home/s2s2/.emacs.d/elpa/slime-fuzzy-20100404")
(require 'slime)
(setq slime-lisp-implementations
`((sbcl ("/usr/bin/sbcl"))
(ecl ("/usr/bin/ecl"))
(clisp ("/usr/bin/clisp" "-q -I"))))
(require 'slime-repl)
(require 'slime-fuzzy)
(require 'hippie-expand-slime)
当我执行M-x slime
我得到的inferior-lisp
缓冲在那里我可以执行的Common Lisp代码如下消息(但是,不应该这个是slime-repl
因为我需要它):
STYLE-WARNING: redefining EMACS-INSPECT (#<BUILT-IN-CLASS T>) in DEFMETHOD
STYLE-WARNING:
Implicitly creating new generic function STREAM-READ-CHAR-WILL-HANG-P.
WARNING: These Swank interfaces are unimplemented:
(DISASSEMBLE-FRAME SLDB-BREAK-AT-START SLDB-BREAK-ON-RETURN)
;; Swank started at port: 46533.
然后,slime-error
缓冲与内容创建:
Invalid protocol message:
Symbol "CREATE-REPL" not found in the SWANK package.
Line: 1, Column: 28, File-Position: 28
Stream: #<SB-IMPL::STRING-INPUT-STREAM {10056B9C33}>
(:emacs-rex (swank:create-repl nil) "COMMON-LISP-USER" t 5)
- 我应该如何修改我的emacs文件以提供这些命令的功能?在我的emacs文件中,我没有加载必要的文件?我是否需要安装额外的软件包?
或者,如果你有更好的想法让我知道! 如果您需要更多信息,请告诉我!所有的帮助非常感谢!
我之前写过关于(在我看来)设置环境的简单方法:http://stackoverflow.com/questions/12607716/setting-the-slime-in-emacs/12609066#12609066,也许你会觉得这很有用。 – 2013-07-01 06:29:29