遅れてきた人によるメモ

遅れてきた人は危険がいっぱい

Outdated! OS X LionのMacVim(32bit)にneobundle入れてcclインストールしてslimvが使えるようになるまで

(2012.05.16)

This article is old!
If you want to use slimv 64bit in OS X Lion, Here!!

書き直してかなりミスがあったので、32bit以前の問題としてオススメしません。

■MacVimにslimvが入らない? --> 入りました

みんなが御用達stackoverflow.comのslimv segfaulting on OS X Lionで、slimvを作った人(Tamas Kovacs)が書いているのですが、MacVimの64bit版は、現時点では使えないようです。なのでMacVimの32bit版をインストールしてslimvが使えるまで、です。前の記事を書いた時点でこのことは知っていて、64bit… え… になったため、Linux Mintをネタにしましたが、やはりMacでも…というわけで32bit版です。

(2012.05.15追記)

現在、homebrewのMacVimの64bitではslimvが使えないようです。

googleのサイトにあるMacVimの最新版

Download MacVim 7.3 (snapshot 64) for Mac OS X Lion. (Released Jan 2, 2012.)

だとslimvが使えるようです。

■環境

■Map

f:id:jiroukaja:20120418222725j:plain 

大雑把な図にするとこんな感じ。なので、必要なものをいれて設定していきます。

■Clozure Common Lisp

homebrewを使います。まだ入れてない方は、Macのパッケージ管理をMacPortsからhomebrewへのような親切なサイトを参考にしてください。入れ終わったら、

brew install ccl

これで終了。簡単ですね。

Linux版は現在1.8ですが、brewの中のcclは1.7のようです( --> 1.8がきました)。

ついでにgitも必要なため、

brew install git

もしてください。

■MacVim

今回、32bitでmakeするためXcodeが必要です。OS X LionだとApp Storeからダウンロードできます。10.7からXcodeのパスが異なるため、あらかじめ魔法の言葉

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

をターミナルで唱えておきます(Beginning OS X Lion/インフラ整備編)。XcodeがついにApplicationsに入ったためのようです。

今回は手動でmacvimフォルダをダウンロードして32bitでコンパイルします。詳しくは、ここに書かれています。

git clone git://github.com/b4winckler/macvim.git
cd macvim/src
macvim/srcに移動
./configure --with-features=huge --enable-rubyinterp --enable-pythoninterp --enable-perlinterp --enable-cscope --with-macarchs=i386
--enable-pythoninterp(swankで使う)と--with-macarchs=i386(32bitに指定)は必ず必要
make
macvim/srcのディレクトリでmake

すると、macvim/src/MacVim/build/Release/MacVim.appが出来ます。これが成果物です。起動して左上のリンゴの隣にあるMacVimからAbout MacVimをみても64bitと書かれていますが大丈夫です。このMacVim.appをアプリケーションに移動したりして使いましょう。MacVimの64bitが既にある人もいると思いますが、私はbrew install macvimしたのでアプリケーション(/Applications/MacVim.app)に入れても困らないため、アプリケーションに入れたという前提で話を進めたいと思います。

Vim上でPythonが使用できるようになっているかどうかは、":echo has('python')"で確認することが出来ます

■quicklisp

http://beta.quicklisp.org/quicklisp.lispをダウンロードする

quicklisp.lispは、Homeにおいておく

ccl
  • (load "quicklisp.lisp")
  • (quicklisp-quickstart:install :path ".quicklisp/")
  • (ql:add-to-init-file)
  • (ql:quickload :swank)

vimプラグイン

GitHubにあるShougoさんのneobundleをインストールしてセットアップします。gitを使うのでインストールしていない場合は、sudo brew install gitでインストールします。

mkdir -p ~/.vim/bundle
git clone https://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim
git clone https://github.com/vim-scripts/slimv.vim ~/.vim/bundle/slimv

フォルダ名の.vimの有無は、gitのプロジェクト名の.vimの有無
slimv.vimのフォルダ名をslimv.vimにすると、.vimrcの設定がうまくいかないためフォルダ名はslimvにしました。

gvim ~/.vimrc
set nocompatible               " be iMproved
     filetype plugin indent off     " required!
 
     if has('vim_starting')
       set runtimepath+=~/.vim/bundle/neobundle.vim
       call neobundle#rc(expand('~/.vim/bundle/'))
     endif
     " originalrepos on github
     NeoBundle 'Shougo/neobundle.vim'
     NeoBundle 'vim-scripts/slimv'

filetype plugin indent on     " required!
filetype indent on

let g:vimshell_editor_command = '/Applications/MacVim.app/Contents/MacOS/Vim --servername=VIM --remote-tab-wait-silent'
let g:slimv_lisp = '/usr/local/bin/ccl'
let g:slimv_impl = 'clozure'
let g:slimv_preferred = 'clozure'
let g:slimv_swank_cmd = '!osascript -e "tell application \"Terminal\" to do script \"ccl --load ~/.vim/bundle/slimv/slime/start-swank.lisp\""'

cclがどこにあるか分からない場合は、

which ccl

とすると場所が分かります。

足りないものもあるかと思いますが、これでとりあえず起動出来ます。

これで準備が整いました。

ノーマルモード(esc or Ctrl-[ )で、

初めてのものがある場合は、

:NeoBundleInstall!

アップデートする場合は、

:NeoBundleInstall

無事読み込まれたか確認してみましょう。

MacVim.appを起動後、":e test.lisp"とタイプしたところです。syntaxとbufferの間にslimvが表示されていることを確認してください。ファイルの拡張子によって表示が制御されているため早とちりをしないようにしてください。

f:id:jiroukaja:20120403235733j:plain

f:id:jiroukaja:20120403235738j:plain

f:id:jiroukaja:20120403235745j:plain

■参考

Slime

Slimv

Slime Turtorial Part One

Modern Common Lisp 第1回 Common Lisp処理系のインストール

第2回 Quicklispによるライブラリ環境