SICPやるときに色々とアプリケーション切り替えるのがめんどくさい。emacsだけで全部終わればいいのに。
schemeをemacsで使うときに便利なquack.el。
これ使うとマニュアルへのリンクがメニューにできて、クリックするとブラウザが開いて表示される。
マニュアル類は自分で追加や削除ができる。
emacsには24.4以降eww
というWEBブラウザが入っている。これemacs内のデフォルトブラウザに指定すればquackのマニュアル類はemacs上で見ることができるようになる。
まずewwの設定。emacs内でのデフォルトブラウザをewwにする。
1
|
(setq browse-url-browser-function 'eww-browse-url)
|
Emacs24.4組み込みブラウザewwで目の疲れを1/10にする方法の設定を追加。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
(defvar eww-disable-colorize t)
(defun shr-colorize-region--disable (orig start end fg &optional bg &rest _)
(unless eww-disable-colorize
(funcall orig start end fg)))
(advice-add 'shr-colorize-region :around 'shr-colorize-region--disable)
(advice-add 'eww-colorize-region :around 'shr-colorize-region--disable)
(defun eww-disable-color ()
"eww で文字色を反映させない"
(interactive)
(setq-local eww-disable-colorize t)
(eww-reload))
(defun eww-enable-color ()
"eww で文字色を反映させる"
(interactive)
(setq-local eww-disable-colorize nil)
(eww-reload))
|
quackの設定関係は、M-x customizeで入れていった。関係ありそうなところを抜き出すとこんな感じ。
quackそのままだとリンク切れのマニュアルとかあるし、使わないのが大量に入ってる。
日本語版SICPとかgaucheのマニュアルは日本語のやつにしたりした。
1
2
3
4
5
6
7
8
9
|
;; M-x customizes
(custom-set-variables
'(quack-manuals
(quote
((r6rs "R6RS" "http://www.r6rs.org/final/html/r6rs/r6rs-Z-H-2.html#node_toc_start" nil)
(gauche "Gauche Reference Manual" "http://practical-scheme.net/gauche/man/gauche-refj.html" nil)
(tspl "Scheme Programming Language (Dybvig)" "http://www.scheme.com/tspl/" nil)
(sicp "Structure and Interpretation of Computer Programs(JP)" "http://sicp.iijlab.net/fulltext/xcont.html" nil))))
)
|
これでとりあえず別のソフトを立ち上げないでSICPできる環境ができた。