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 でコードが実行される。

vimshell 上で Clojure を実行中

VimClojure に比べてサーバの起動は不要だし、シェルがシンタックスハイライトされるし、neocomplcache で補完が使えるので、イイ♪

«
»