2012年2月22日水曜日

SBCL + Emacs(Meadow) + SLIME



Common Lispの設定でどハマりしたのでメモ


  1. SBCLのインストール.これについては何も迷う事はない. http://www.sbcl.org/platform-table.htmlからWindows用バイナリを取ってきてC:\SBCL\にインストール(SBCLのWindows版にある不具合については,とりあえず気にしない)
  2. Meadowのインストール.上に同じく迷うポイントは無いはず. http://www.meadowy.org/meadow/wiki/%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89 から現行のsetup-ja.exeをとってきてC:\Meadow\にインストール
  3. SLIMEのインストール.これがどハマりポイント.2012/2/21現在のSLIMEにはバグがある模様.ロードバスが通ってるディレクトリ(例えば,~/.emacs.d/)の中でcvs -d :pserver:anonymous:anonymous@common-lisp.net:/project/slime/cvsroot co -D 2009-10-12 slimeを実行して古いヤツをもってくるのが楽.
  4. auto-complete.elとac-slime.elのインストール.これはWebを探して適当に持ってきたら良い.
  5. .emacsには以下を追加


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; For Lisp (SBCL)
;;;

(setq inferior-lisp-program "C:/SBCL/sbcl.exe")
(add-to-list 'load-path "C:/cygwin/home/"username"/.emacs.d/slime")
(require 'slime)
(slime-setup)
(slime-setup '(slime-autodoc))
(slime-setup '(slime-repl))
(setq slime-net-coding-system 'utf-8-unix)
(add-hook 'inferior-lisp-mode-hook (lambda () (inferior-slime-mode t)))
(add-hook 'lisp-mode-hook (lambda ()
                            (slime-mode t)
                            (show-paren-mode)))


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; For auto-complete
;;;
(add-to-list 'load-path "~/.emacs.d/")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict")
(ac-config-default)

;; for slime
(require 'ac-slime)
(add-hook 'slime-mode-hook 'set-up-slime-ac)
(add-hook 'slime-repl-mode-hook 'set-up-slime-ac)
(define-globalized-minor-mode real-global-auto-complete-mode
  auto-complete-mode (lambda ()
         (if (not (minibufferp (current-buffer)))
      (auto-complete-mode 1))))
(real-global-auto-complete-mode t)




こうやって書いてみると何てこと無いね.
これのために数時間無駄にしたと思うとダルくなるわ…

0 件のコメント: