vimshell で Clojure を実行する
Vim Plugin の vimshell (Shougo’s vimshell at master – GitHub) 上で Clojure を実行させてみた。
実行した環境は Ubuntu 10.04 と Mac OSX Snow Leopard。
vimshell は git でダウンロードする。
$ git clone git://github.com/Shougo/vimshell.git
ダウンロードしたファイルをそれぞれ ~/.vim 以下にコピーする。
vimshell 上で Clojure の REPL を動かすには、vimproc を使って非同期実行する必要があるようなので vimproc も git でダウンロードする。
$ git clone git://github.com/Shougo/vimproc.git
そして、proc.so を make
する。
$ make -f make-gcc.mak # Ubuntu $ make -f make-mac.mak # Mac
コンパイル後に作成した proc.so と vimproc.vim を ~/.vim/autoload/ へコピーし、doc/vimproc.jax を ~/.vim/doc/ へコピーする。
~/.vim/ を Dropbox で共有していたので、Ubuntu 用と Mac 用とに分けるために、それぞれ procmac.so、procunix.so としてコピーした。
.vimrc に以下の設定を記述する。
" vimproc if has('mac') let g:vimproc_dll_path = $HOME."/.vim/autoload/procmac.so" elseif has('unix') let g:vimproc_dll_path = $HOME."/.vim/autoload/procunix.so" endif " vimshell let g:VimShell_EnableInteractive = 1
VimShellInteractive
による Clojure REPL の起動と、VimShellSendString
で選択範囲のコードを vimshell 上の Clojure REPL に送るためのキーバインド設定を行う。
~/.vim/ftplugin/clojure/vimshell-clojure.vim ファイルを作成して以下の記述をする。
:command! CLJVimShell execute ":VimShellInteractive clj" vmap <silent> ,s :VimShellSendString<cr>
これで、vimshell を起動して、Clojure のコードを選択し、,s キーを押下すると vimshell 上の Clojure REPL でコードが実行される。
VimClojure に比べてサーバの起動は不要だし、シェルがシンタックスハイライトされるし、neocomplcache で補完が使えるので、イイ♪