必要なもの
・SBCL
・SLIME
・cygwin用w3m
・emacs-w3m
gnupackはC:直下にC:\gnupackとして配置されていることを前提とした手順は以下
■SBCLのインストール
SBCLは標準インストールだと、Program Files以下に配置されてしまうためパスに空白が入り都合が悪いのでインストール先を変える。
既にインストールされている場合は、一度アンインストールしてから下記パスへインストールする。
C:\gnupack\app\sbcl
gnupack環境変数の設定
C:\gnupack\config.ini を編集
太字部分を追記する
--------------------------------------------------
[SetEnv]
_cygwin_ = %inst_dir%\app\cygwin\1.7.5
_local_ = %inst_dir%\app\cygwin\local
_mingw_ = %inst_dir%\app\mingw\tdm
_font_ = MS ゴシック
;_font_ = M+2VM+IPAG circle
;_lang_ = ja_JP.utf8
_lang_ = ja_JP.cp932
CYGWIN_DIR = %_cygwin_%
EMACS_DIR = %inst_dir%\app\emacs\23.2
GVIM_DIR = %inst_dir%\app\vim
SBCL_HOME = C:\gnupack\app\sbcl
HOME = %inst_dir%\home
TEMP = %TEMP%\gnupack
TMP = %TMP%\gnupack
SHELL = bash
CYGWIN = nodosfilewarning noenvcache strip_title title upcaseenv tty
MAKE_MODE = unix
PERL5LIB = %inst_dir%\app\cygwin\perl\lib\perl5
TZ = JST-9
LC_ALL = %_lang_%
LC_CTYPE = %_lang_%
LANG = %_lang_%
PATH = %EMACS_DIR%\bin;GVIM_DIR%\bin
PATH = %PATH%;%_mingw_%\bin;%_local_%\bin;%_cygwin_%\bin
PATH = %PATH%;%windir%\system32;%windir%;%windir%\system32\Wbem;%SBCL_HOME%
--------------------------------------------------
bashからsbclが起動できることを確認しておこう。
# sbcl
This is SBCL 1.0.37, an implementation of ANSI Common Lisp.
More information about SBCL is available at .
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
This is experimental prerelease support for the Windows platform: use
at your own risk. "Your Kitten of Death awaits!"
*
■w3mのインストール
gnupackにw3mを組み込む。といってもすでにコンパイル済みのバイナリが配布されているので、とってきて展開するだけ。
cygwin用w3mを取得し、展開すると以下のようになる。
usr/bin
usr/libexec
usr/share
このbin, libexec, share を c:\gnupack\app\cygwin\local へ上書きコピーする。これだけで使えるようになる。
もし足りないパッケージがあったら、起動時に警告されるのでcygwinのコンパイル済みパッケージから持ってくればよい。
■emac-w3mのインストール
特に考える必要は無し。cvsからパッケージを取得してきて、make; make install か、load-lisp されたディレクトリへそのままコピーしてやればよい。
今回は c:\gnupack\app\emacs\site-lisp は配置している。
■SLIMEの取得
これもcvsから取得してきて、load-pathの通ったディレクトリへ配置するだけ。
今回は c:\gnupack\home\.emacs.d\slimeへ配置した。
■HyperSpecのインストール
公式サイトからダウンロードしてくるだけ。
今回は c:\gnupack\home\.emacs.d\HyperSpec へ配置した。
■.emacsの編集
以下の追記
--------------------------------------------
(require 'w3m-load)
(add-to-list 'load-path "~/.emacs.d/slime-2010-07-11")
(add-to-list 'load-path "~/.emacs.d/slime-2010-07-11/contrib")
; sbclのパスを記述
(setq inferior-lisp-program "sbcl")
(setq slime-net-coding-system 'utf-8-unix)
(add-hook 'lisp-mode-hook (lambda ()
(slime-mode t)
(show-paren-mode)))
(require 'slime)
(slime-setup '(slime-repl))
; C-c L で slimeを起動
(defun my-slime (&optional command coding-system)
(interactive)
(switch-to-buffer-other-window
(get-buffer-create "*lisp*"))
(slime command coding-system))
(global-set-key "\C-cL" 'my-slime)
; slimeバッファを切換え
(global-set-key "\C-cs" 'slime-selector)
;; HyperSpecのパスを指定
(require 'hyperspec)
(setq
common-lisp-hyperspec-root "file:///cygdrive/c/gnupack/home/.emacs.d/HyperSpec/"
common-lisp-hyperspec-symbol-table (expand-file-name "~/.emacs.d/HyperSpec/Data/MapSym.txt"))
;; HyperSpecをemacs-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))
;; 検索したい関数の上で C-c H で検索する。
(global-set-key "\C-cH" 'hyperspec-lookup)
--------------------------------------------
これでM-x slime して起動してくれば設定は成功。
関数等にカーソルを合わせてC-cHでHyperSpecが検索できればこっちもOK。
■参考書籍
入門GNU Emacs第3版 価格:3,990円(税込、送料別) |