Emacs + SLIMEでCommon Lisp環境を整える
Ubuntu8.10にEmacsとCommon Lispの開発環境をセットアップする方法をcametanさんに教えてもらったので早速インストール!
まず、Emacsのインストール
[システム]→[システム管理]→[日本語セットアップヘルパ]を起動し、「emacs-env-ja」にチェックを入れる。(ここに来るまでに何度かOKボタンを押さないといけない。)
次に必要になるパッケージのインストール
[システム]→[システム管理]→[Synaptic パッケージ・マネージャ]を開き以下のパッケージにチェックを入れ、「適用」を押してインストール。
- SBCL……(Steel Bank Common Lisp:Common Lisp実装)
- SLIME……(Superior Lisp Interface Mode for Emacs:EmacsとLispの接続ツール)
- Hyperspec……(ANSI Common Lisp仕様書)
- w3m-el……(Emacs用テキストブラウザ)
Emacsの初期化ファイルをコピー
cp /usr/share/doc/emacs-env-ja/dot.emacs.example ~/.emacs
Emacsの設定とかを行うファイルらしい。コメントも日本語でかかれてるのでわかりやすい。後でいじってみる。
SLIME等の設定を行う。
↓下のリンクにある設定をさっきコピーしてきた「.emacs」ファイルに書いてやれば動くらしいのだけど、何かうまくいかなかった^^;
Emacs による Lisp Hacking
なので、↓ここの設定をおこなって見たところ動いたので、その内容を載せときます。
EmacsにSLIMEを導入 - とりあえず暇だったし何となくはじめたブログ
~/.emacsの最後に以下の内容を追加
;SLIME ;UbuntuでSLIMEをインストールした場合、ここにインストールされる「/usr/share/emacs/site-lisp/slime」 (setq load-path (cons (expand-file-name "/usr/share/emacs/site-lisp/slime") load-path)) (setq inferior-lisp-program "sbcl") ; sbcl用 (require 'slime) (slime-setup) ;HyperSpecを読み込む. ;HyperSpecがインストールされている場所「/usr/share/doc/hyperspec/」 (setq common-lisp-hyperspec-root (concat "file://" (expand-file-name "/usr/share/doc/hyperspec/")) common-lisp-hyperspec-symbol-table (expand-file-name "/usr/share/doc/hyperspec/Data/Map_Sym.txt")) ;w3mの設定 (require 'w3m-load) ;; HyperSpecをw3mで見る (defadvice common-lisp-hyperspec (around hyperspec-lookup-w3m () activate) (let* ((window-configuration (current-window-configuration)) (browse-url-browser-function `(lambda (url new-window) (w3m-browse-url url nil) (let ((hs-map (copy-keymap w3m-mode-map))) (define-key hs-map (kbd "q") (lambda () (interactive) (kill-buffer nil) (set-window-configuration ,window-configuration))) (use-local-map hs-map))))) ad-do-it)) ;日本語利用 (setq slime-net-coding-system 'utf-8-unix) ;; カーソル付近にある単語の情報を表示 (slime-autodoc-mode) ;======================================================================= ; 対応する括弧を光らせる ;======================================================================= (show-paren-mode) ;======================================================================= ; リージョンに色を付ける ;======================================================================= (setq transient-mark-mode t)
と、内容の詳細は先ほどのサイトを見てもらうとして・・・
(追記 cametanさんから「対応する括弧を光らせる」方法と「リージョンに色をつける」方法をおしえてもらいました)
Common Lispを呼び出す(?)
Emacsを起動する。
$ emacs
Emacsが起動したらAltとxを同時に押した(これはM-xと表記されるらしい)後に、slimeと入力。すると、こんな感じになりました。あってる?
いやー。しかし、Emacsの使い方全然わからん。学生の時挫折して以来だもんね。
やりなおしEmacs講座でもやろうかな(ーー;