Memoize |
BasicWerk
EC Support
Technique
Facebook
|
20141217190017_Emacs_slime_setup |
Emacs_slime_setup
slime のインストールslime を wget して ~/.emacs.d/slime にコピー % wget http://common-lisp.net/project/slime/snapshots/slime-current.tgz % tar xvzf slime-current.tgz # 僕のところでは slime-2014-01-15 というフォルダに展開されたので % cp -R slime-2014-01-15 ~/.emacs.d/slime
これを機会に Clozure CL を入れてみた。 % sudo port install ccl # ccl64 という名前でインストールされるようだ % which ccl64 /opt/local/bin/ccl64
~/.emacs に追記 % cat ~/.emacs (setq default-tab-width 4) (setq-default tab-width 4) (setq make-backup-files nil) (setq explicit-shell-file-name "/bin/zsh") ;; 追記ここから ;; http://dev.ariel-networks.com/wp/archives/462 ;; Clozure CL is default to slime (setq inferior-lisp-program "ccl64") ;; ~/.emacs.d/slimeをload-pathに追加 (add-to-list 'load-path (expand-file-name "~/.emacs.d/slime")) ;; SLIMEのロード (require 'slime) (slime-setup '(slime-repl slime-fancy slime-banner)) ;; http://modern-cl.blogspot.jp/2011/04/3-slime.html (setq slime-net-coding-system 'utf-8-unix) ;; mv cl-indent-patches.el ~/.emacs.d/ (when (require 'cl-indent-patches nil t) ;; emacs-lispのインデントと混同しないように (setq lisp-indent-function (lambda (&rest args) (apply (if (memq major-mode '(emacs-lisp-mode lisp-interaction-mode)) 'lisp-indent-function 'common-lisp-indent-function) args))))
slime の使い方
兎にも角にも、emacs を立ち上げたら META x slime と打ち込んで slime の REPL をバッファに立ち上げておく。
その上で foo.lisp (拡張子が .lisp のファイル) を C-x C-f foo.lisp で読み込むと、そのバッファは Lisp mode になる。
で、以下のようなコマンドを実行した時に slime が読み込んでいるこの場合は Clozure CL が S 式を評価してくれる。
最後に、オートインデントについて。
REPL の方で複数行の Lisp フォームを書いているときは改行すると自動的にインデントを揃えてくれる。 しかしファイルを編集してる方 (上の例で言えば foo.lisp のバッファ) では単なる改行ではオートインデントしてくれない。 改行とインデントを同時に行うには C-j と入力する。
参考:
|
© Shin Nakamura/BasicWerk 2008 - 2014 |