MacVim + slimv + sbcl

MacVim に slimv を導入してみた。使う Lispsbcl にすることにした。

環境:

  • Mac OS X 10.9
  • MacVim Custom Version 7.4 (KaoriYa 20131023)
  • sbcl 1.1.13

Vim には NeoBundle が導入されていると仮定します。NeoBundle が分からない場合は Google 先生などに聞いてください。

~/.vimrc に以下を追加します。

NeoBundle 'https://bitbucket.org/kovisoft/slimv'

let g:slimv_lisp='/usr/local/bin/sbcl'
let g:slimv_swank_cmd='!osascript -e "tell application \"iTerm\"" -e "tell the first terminal" -e "set mysession to current session" -e "launch session \"Default Session\"" -e "tell the last session" -e "exec command \"/bin/bash\"" -e "write text \"sbcl --load ~/.vim/bundle/slimv/slime/start-swank.lisp\"" -e "end tell" -e "select mysession" -e "end tell" -e "end tell"'

sbcl のパスは環境によって違うので、自分の環境に合わせて変更してください。また slimv_swank_cmd は iTerm を用いる場合です。もし Terminal を使う場合は slimv の公式サイトに例があったと思いますので、そこを参照してください。

NeoBundle 'https://bitbucket.org/kovisoft/slimv'
ですが、:NeoBundleInstall する際に mercurial がインストールされていないとコケます。なのであらかじめインストールするようにしてください。Homebrew を使っているなら

brew install mercurial

で良いです。

最後に ~/.sbclrc に

(require 'asdf)

を追加してください。これで拡張子 .lisp のファイルを MacVim で開くと Slimv というのがメニューに現われるはずです。あとは ,c と入力すれば自動的に swank サーバが起動します。Slimv の詳しい使い方は公式のチュートリアルかマニュアルに投げる事にします。