emacs に SLIME を入れてみる

Lisp 書くなら emacs がいいらしい。
とりあえず emacsの使い方がさっぱりわからないのでいくつか資料を探してみた

これからemacsを使い始めたい人へ送るチュートリアル 第2回 - UNIX的なアレ
突然だがEmacs を始めよう - Qiita


よし。完璧にマスター(白目
というわけで以下の資料を参考にSLIMEを入れてみることに。

modern-cl.blogspot.jp

結構苦労したけど何とか動かすことができました。
f:id:moremagic:20170909191204p:plain


emacs起動時に popup が見つからないって怒られたのでpopupも入れたらなおりました。

起動直後は REPL が立ち上がってないので
M-x slime で REPLを起動します。

C-x C-o : ウィンドウ切りかえて ファイル編集、REPL実行を行き来できます。
slime の REPL で ファイル内の関数がそのまま使えます

細かいことはわからなかったので 使いながら馴染んでいこうかと!
ふぅ 大変だった・・・


現時点での .emacs.emacs.d/ はこんな感じです。

~$ cat .emacs
;; Clozure CLをデフォルトのCommon Lisp処理系に設定
(setq inferior-lisp-program "ccl")
;; ~/.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 slime-indentation))

;; SLIMEからの入力をUTF-8に設定
(setq slime-net-coding-system 'utf-8-unix)

(add-to-list 'load-path (expand-file-name "~/.emacs.d/popwin"))
(require 'popwin)
(setq display-buffer-function 'popwin:display-buffer)

;; Apropos
(push '("*slime-apropos*") popwin:special-display-config)
;; Macroexpand
(push '("*slime-macroexpansion*") popwin:special-display-config)
;; Help
(push '("*slime-description*") popwin:special-display-config)
;; Compilation
(push '("*slime-compilation*" :noselect t) popwin:special-display-config)
;; Cross-reference
(push '("*slime-xref*") popwin:special-display-config)
;; Debugger
(push '(sldb-mode :stick t) popwin:special-display-config)
;; REPL
(push '(slime-repl-mode) popwin:special-display-config)
;; Connections
(push '(slime-connection-list-mode) popwin:special-display-config)


(add-to-list 'load-path (expand-file-name "~/.emacs.d/popup"))

(require 'popup)

(add-to-list 'load-path (expand-file-name "~/.emacs.d/auto-complete"))
(require 'auto-complete)
(global-auto-complete-mode t)

(add-to-list 'load-path (expand-file-name "~/.emacs.d/ac-slime"))
(require 'ac-slime)
(add-hook 'slime-mode-hook 'set-up-slime-ac)
(add-hook 'slime-repl-mode-hook 'set-up-slime-ac)
~$ ll .emacs.d/

drwx------  9 mitsu mitsu 4096  9月  9 18:57 ./
drwxr-xr-x 32 mitsu mitsu 4096  9月  9 18:57 ../
-rw-r--r--  1 mitsu mitsu   86  9月  9 18:57 ac-comphist.dat
lrwxrwxrwx  1 mitsu mitsu   12  9月  3 18:50 ac-slime -> ac-slime-0.8/
drwxr-xr-x  2 mitsu mitsu 4096  9月  3 18:50 ac-slime-0.8/
lrwxrwxrwx  1 mitsu mitsu   19  9月  3 18:58 auto-complete -> auto-complete-1.5.1/
drwxr-xr-x  6 mitsu mitsu 4096  3月 30  2016 auto-complete-1.5.1/
drwx------  2 mitsu mitsu 4096  9月  9 18:57 auto-save-list/
lrwxrwxrwx  1 mitsu mitsu   14  9月  9 15:44 popup -> popup-el-0.5.3/
drwxr-xr-x  4 mitsu mitsu 4096  6月 26  2015 popup-el-0.5.3/
lrwxrwxrwx  1 mitsu mitsu   15  9月  3 18:44 popwin -> popwin-el-1.0.0/
drwxr-xr-x  5 mitsu mitsu 4096  9月  3 18:44 popwin-el-1.0.0/
lrwxrwxrwx  1 mitsu mitsu   16  9月  3 18:27 slime -> slime-2014-01-15/
drwxr-xr-x  5 mitsu mitsu 4096  9月  3 18:26 slime-2014-01-15/