週記くらい

  • Profile

Category Archives: slime

Vim使いのslime入門(1)

Posted on 2008/11/12 by smeghead

実践Common Lisp

実践Common Lispを買いました。1,2年前、Common Lispの勉強を初めたころに、Web上で、Practical Common Lispを読んだ思い出があります。といっても、全部ではなくて、前半くらいだけで挫折してますが;;

Practical Common Lisp

Practical Common Lisp

この資料を読む前は、Lispというものに興味はあるものの非常に難しいものだな、と感じていたものですが、このWebの資料を読むことで比較的新しいCommon Lispの思考方法が、それなりに理解できました。Lisp勉強の初期段階に読めて良かったです。


本屋で翻訳された実践Common Lispをパラパラ眺めてみると、最初のところにLisp in a boxのことが紹介されていて、Lispのオールインワンの最高の開発環境とのことでした。

実は、slimeというものを全く知りません。1、2年前Common Lispを勉強しはじめてから、vim + clisp + hyperspec読みツール(id:ytakenakaさん作のツールです)で、こじんまりと作業するのが楽しかったのです。

なんとなく、Lispというプログラミング言語をプリミティブに肌で感じてみたいという思いから、便利な開発環境には触手が伸びませんでした。


ということで、Vim使いがslimeに触れてみるという意味で、いくつかエントリを書いてみようかと思います。

インストール

実は、lisp in a box をgoogleで検索して、Hitするページ(http://common-lisp.net/project/lispbox/)には、Linux用バイナリは置いてないので、ソースをコンパイルしようとすると、嵌るかもしれません。(実は、数時間嵌ってましたorz.)

  • OSは、debian on VMware
  • Common Lispの処理系は、今まで使っていたこともあるので、clispにしました。

実際、実践Common Lispには、http://gigamonkeys.com/lispbox/ というURLが紹介されているので、ここから、GNU/Linux x86 の CLISP 版をダウンロードしました。

$ cd ~/src
$ wget http://common-lisp.net/pcl/linux/lispbox-0.7-clisp-2.36.tar.gz
$ tar zxf lispbox-0.7-clisp-2.36.tar.gz
$ su
# cp -r lispbox-0.7 /usr/local/
# cd /usr/local/bin
# ln -s /usr/local/lispbox-0.7/lispbox.sh lispbox

ダウンロードして展開しただけで、そのまま起動できてしまったのですが、自分のHOME配下に置いとくのもなんなので、/usr/local に置いて、/usr/local/bin/lispbox としてシンボリックリンクを作成しました。

あと、lispbox.shの最初のLISPBOX_HOME設定部分は、は、無理矢理フルパス指定に変えてしまいました。

export LISPBOX_HOME=/usr/local/lispbox-0.7

これで、インストールは完了です。敷居が高いというイメージを覆す程に簡単です。

起動

$ lispbox

で、emacsが立ち上がって、いろいろ画面が流れたり、アニメーション?が表示されて、slimeが立ち上がりました。

ちょっと数字やら文字列やらを評価させたりしてみました。

; SLIME 2005-11-22
CL-USER> 1
1
CL-USER> "helo"
"helo"
CL-USER> (+ 1 2 3)
6
CL-USER> (mapcar #'(lambda (x) (1+ x)) '(1 2 3))
(2 3 4)
CL-USER>

ここで、ひとつ不満が。。。

^H でヘルプ呼び出しなこと。^HはBSとして使いたい。

lispbox.sh を少し編集して、パッケージでインストールされたemacs用の設定ファイル(~/.emacs)を使うようにしてみました。*1

最終的にlispbox.shは、下のように変更しました。

# diff lispbox.sh.org lispbox.sh
2,6c2
< if [ "${0:0:2}" = "./" ]; then
<     export LISPBOX_HOME=`pwd`
< else
<     export LISPBOX_HOME=`dirname $0`
< fi
---
> export LISPBOX_HOME=/usr/local/lispbox-0.7
32c28
< exec ${LISPBOX_HOME}/emacs-21.4/bin/emacs --no-init-file --no-site-file --eval='(progn (load "lispbox") (slime))'
---
> exec ${LISPBOX_HOME}/emacs-21.4/bin/emacs -geometry 150x50 --no-site-file --eval='(progn (load "lispbox") (slime))'
追記2008/11/13 起動時の画面サイズを指定するためgeometryパラメータを追加しました。

これで、lispboxのemacsも、~/.emacsを読んでくれるようになり、背景やフォントや、^Hの動作も希望通りになりました。

続く

*1:emacsは、howmとnavi2chを使うくらいというライトユーザですが、~/.emacsで ^HはBSとする設定をしています。

Posted in emacs, lisp, slime | Leave a comment |
« Previous Page

Pages

  • Profile

Archives

  • March 2018
  • May 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • April 2014
  • November 2013
  • October 2013
  • July 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • June 2011
  • May 2011
  • April 2011
  • March 2011
  • February 2011
  • January 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007
  • November 2007
  • October 2007
  • September 2007
  • August 2007
  • July 2007
  • June 2007
  • May 2007
  • April 2007
  • March 2007
  • February 2007
  • January 2007
  • December 2006
  • July 2006

Categories

  • android (35)
  • apache (1)
  • bison (1)
  • BTS (18)
  • c# (23)
  • cgi (1)
  • chrome (9)
  • chromeextention (18)
  • clclcl (9)
  • clojure (13)
  • cloudbug1 (2)
  • css (4)
  • cygwin (7)
  • C言語 (21)
  • dart (1)
  • dotnet (11)
    • vb.net (2)
  • e-hash.jp (1)
  • eclipse (2)
  • emacs (10)
  • excel (1)
  • flex (1)
  • framework (11)
  • free (92)
  • gae (4)
  • gcc (4)
  • gimmehash.in (1)
  • glipper (3)
  • golang (7)
  • howm (1)
  • html (3)
  • ikushipe (1)
  • java (47)
  • JavaScript (28)
  • linux (16)
  • lisp (92)
  • lua (34)
  • luatinycgi (2)
  • mba (1)
  • Meadow (4)
  • memo (1)
  • music (5)
  • mysql (1)
  • neta (5)
  • O/Rマッピングツール (4)
  • obj-c (6)
  • OOP (6)
  • oracle (1)
  • perl (48)
  • php (38)
    • CakePHP2 (2)
  • PostgreSQL (8)
  • PowerShell (1)
  • putty (1)
  • python (14)
  • redmine (2)
  • ruby (7)
  • s3 (1)
  • sakura (5)
  • screen (1)
  • Selenium (1)
  • SF (1)
  • SKK (4)
  • slime (6)
  • sql (8)
  • sqlite3 (4)
  • starbug1 (179)
  • tthttpd (3)
  • twitter (7)
  • ubuntu (14)
  • Uncategorized (4)
  • unix (14)
  • unkode-mania (5)
  • vba (3)
  • vim (24)
  • w3m (1)
  • Windows (16)
  • wordpress (1)
  • zsh (6)
  • 愚痴 (1)

WordPress

  • Log in
  • WordPress

Subscribe

  • Entries (RSS)
  • Comments (RSS)

Pages

  • Profile

Archives

  • March 2018
  • May 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • April 2014
  • November 2013
  • October 2013
  • July 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • June 2011
  • May 2011
  • April 2011
  • March 2011
  • February 2011
  • January 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007
  • November 2007
  • October 2007
  • September 2007
  • August 2007
  • July 2007
  • June 2007
  • May 2007
  • April 2007
  • March 2007
  • February 2007
  • January 2007
  • December 2006
  • July 2006

Categories

  • android (35)
  • apache (1)
  • bison (1)
  • BTS (18)
  • c# (23)
  • cgi (1)
  • chrome (9)
  • chromeextention (18)
  • clclcl (9)
  • clojure (13)
  • cloudbug1 (2)
  • css (4)
  • cygwin (7)
  • C言語 (21)
  • dart (1)
  • dotnet (11)
    • vb.net (2)
  • e-hash.jp (1)
  • eclipse (2)
  • emacs (10)
  • excel (1)
  • flex (1)
  • framework (11)
  • free (92)
  • gae (4)
  • gcc (4)
  • gimmehash.in (1)
  • glipper (3)
  • golang (7)
  • howm (1)
  • html (3)
  • ikushipe (1)
  • java (47)
  • JavaScript (28)
  • linux (16)
  • lisp (92)
  • lua (34)
  • luatinycgi (2)
  • mba (1)
  • Meadow (4)
  • memo (1)
  • music (5)
  • mysql (1)
  • neta (5)
  • O/Rマッピングツール (4)
  • obj-c (6)
  • OOP (6)
  • oracle (1)
  • perl (48)
  • php (38)
    • CakePHP2 (2)
  • PostgreSQL (8)
  • PowerShell (1)
  • putty (1)
  • python (14)
  • redmine (2)
  • ruby (7)
  • s3 (1)
  • sakura (5)
  • screen (1)
  • Selenium (1)
  • SF (1)
  • SKK (4)
  • slime (6)
  • sql (8)
  • sqlite3 (4)
  • starbug1 (179)
  • tthttpd (3)
  • twitter (7)
  • ubuntu (14)
  • Uncategorized (4)
  • unix (14)
  • unkode-mania (5)
  • vba (3)
  • vim (24)
  • w3m (1)
  • Windows (16)
  • wordpress (1)
  • zsh (6)
  • 愚痴 (1)

WordPress

  • Log in
  • WordPress

CyberChimps WordPress Themes

© 週記くらい@やーづ

With Google+ plugin by Geoff Janes