2011-03-08 51 views
6

我按照说明尽可能在Mac OS X上安装终端SLIME,但是当我按下M-x时,它不会提示我。通过macports设置SLIME

我使用以下两种sudo的命令安装了Emacs和Lisp:

sudo port install emacs +carbon 
sudo port install sbcl slime 

我得到了以下说明:

(add-to-list 'load-path "/opt/local/share/emacs/site-lisp/slime") 
(require 'slime-autoloads) 
(setq slime-lisp-implementations 
    `((sbcl ("/opt/local/bin/sbcl")) 
     (abcl ("/opt/local/bin/abcl")) 
     (clisp ("/opt/local/bin/clisp")))) 
(add-hook 'lisp-mode-hook 
      (lambda() 
      (cond ((not (featurep 'slime)) 
        (require 'slime) 
        (normal-mode))))) 

(eval-after-load "slime" 
    '(slime-setup '(slime-fancy slime-banner))) 

填充与 在煤泥LISP的实现初始化列表您希望使用Common Lisp exectuables的正确路径。

我不知道那是什么最后一位意味着...

不管怎么说,我以前从未使用过Lisp或Emacs的,字面的n00b执导的操作将是最好的。用emacs编写和执行common lisp的最低限度。 谢谢!

回答

5

看起来你已经走上了正轨。既然你只安装sbcl,而不是其他的Lisp,只是削减你的初始化代码到这一点:

(add-to-list 'load-path "/opt/local/share/emacs/site-lisp/slime") 
(require 'slime-autoloads) 
(setq slime-lisp-implementations `((sbcl ("/opt/local/bin/sbcl"))) 
(add-hook 'lisp-mode-hook 
    (lambda() (cond ((not (featurep 'slime)) (require 'slime) (normal-mode))))) 
(eval-after-load "slime" '(slime-setup '(slime-fancy slime-banner))) 

之后,使用M-x slime,你应该是好去。

+0

工程就像一个魅力!为什么我没有想到这个!?希望我不必为esc使用esc,但是... – hedgehogrider 2011-03-09 01:07:45

+1

你不应该为meta使用escape,我在我的.emacs中使用命令代替:'(setq mac-command-modifier' meta)'还有其他的选择,看看这个:http://www.emacswiki.org/emacs/EmacsForMacOS – spacemanaki 2011-03-09 15:16:42

+0

你把那个初始化代码放在哪里?我试图跟随我自己,尽管我知道vim的基础知识,但我是一名emacs新手。谢谢! – jpswain 2011-06-27 05:17:27