2010年7月12日月曜日

Windows NTEmacs23 + SBCL + SLIME 環境構築


このエントリーをはてなブックマークに追加


前回はCentOS上で環境構築したが、今回はWindows上で同じ環境を構築してみる。
CentOSの時は端末エミュレータ上で操作していたため、HyperSpecの表示にemacs-w3mを使ったが、
Windowsの場合は普通にブラウザで表示させる(w3mを動かすのが面倒なので・・・

Windows XP Pro SP3 x86
emacs-23.2-20100508
sbcl-1.0.37-x86-windows-binary
slime-2010-07-11
HyperSpec-7-0

■emacs-23.2
gnupackは使わず、ntemacsのみを使います。取ってきたexeを実行すると自己解凍されるので、解凍されたフォルダをここではc:\emacsに配置。

■sbcl
公式からWindows用のインストーラを取ってきて、実行するだけ。
コマンドラインからのパスが通っていることを確認しておこう。
c:> sbcl
* (format t "aaa" t)
→ aaa NIL

* (quit)

■slime-2010-07-11
解凍したフォルダをC:\emacs\site-lisp\slime-2010-07-11へ配置

■HyperSpec
解凍したフォルダを C:\emacs\doc\HyperSpec へ配置


===============================================
ここから設定。emacsの設定ファイルを配置するための環境変数を設定する。
ここでは、C:\emacs\home をホームディレクトリとして定義する。


HOME
C:/emacs/home

次にdot.emacsを作るのだが、先頭がドットのファイルはエクスプローラーから作れない。
emacsで作るか、コマンドラインから echo 1 > .emacs としてファイルを作る。

以下 dot.emacs いろいろ追加してみました。
----------------------------
;; slimeの配置先を指定(site-lisp配下は自動的にロードされるので、今回はいらない)
;;(add-to-list 'load-path "~/site-lisp/slime-2010-07-11")
;;(add-to-list 'load-path "~/site-lisp/slime-2010-07-11/contrib")

;; sbclのパスを記述
(setq inferior-lisp-program "sbcl.exe")
(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
        (concat "file://" (expand-file-name "~doc/HyperSpec/")) common-lisp-hyperspec-symbol-table (expand-file-name "~/doc/HyperSpec/Data/MapSym.txt"))

;; 検索したい関数の上で C-c H で検索する。
(global-set-key "\C-cH" 'hyperspec-lookup)

;; C-hでバックスペース、DELでその場の文字を消す
(global-set-key "\C-h" 'backward-delete-char)
(global-set-key "\177" 'delete-char)

;; リージョンをハイライト
(setq-default transient-mark-mode t)

;; 起動画面を消す
(setq inhibit-startup-message t)

;; デフォルト言語をUTF8に
(set-language-environment "UTF-8")

;; 時計を表示
(display-time)

;; カラーテーマを設定
;; http://code.google.com/p/gnuemacscolorthemetest/downloads/list
;; からファイルを取ってきて、site-lispに coloer-theme.el と themesフォルダを入れる
(require 'color-theme)
(color-theme-initialize)
(color-theme-subtle-hacker)

;; 行番号を表示
;; http://stud4.tuwien.ac.at/~e0225855/linum/linum.html
;; から取得。C-c N で行番号をON/OFF
(require 'linum)
(global-set-key "\C-cN" 'linum-mode)

;; シェルウインドウの文字コード設定(文字化け対策)
;; M-x shell でコマンドプロンプトを起動
(setq process-coding-system-alist
(cons '("cmdproxy.exe$" sjis . sjis)
process-coding-system-alist))

;; 初期のウインドウサイズの設定
(setq initial-frame-alist
  (append
    '((top    . 30)    ; フレームの縦位置(ドット数)
      (left   . 450)   ; フレームの横位置(ドット数)
      (width  . 120)    ; フレーム幅(文字数)
      (height . 65))   ; フレーム高(文字数)
  initial-frame-alist))

;; 文字飾りを有効とする
(setq w32-enable-synthesized-fonts t)


;; メニューバーを消す
(tool-bar-mode -1)

;; 起動時にホームディレクトリへ移動
(cd "~")

;; 日本語設定
(set-keyboard-coding-system 'japanese-shift-jis)
(setq default-input-method "W32-IME")
(w32-ime-initialize)
(set-default-font "MS ゴシック-10")









0 件のコメント:

コメントを投稿