読者です 読者をやめる 読者になる 読者になる

Slimv を Clojure に対応させるまで [Vim]

メモ Vim Clojure

環境: OS X 10.9.5

lisp 族用の vim プラグインに slimv と言う便利な物があり、補完からインデント、色分けまで一通りやってくれる。
これさえあれば他にプラグインはいらないくらいで、common lisp だけではなく schemeclojure にも対応している。
対応している、はずだったがちょっと clojure をいじろうと思って試してみた所全く反応しなかった。
どうやら mac のデフォルト vim が古すぎたらしく(7.3 2010 Aug 15) clojure を認識できなかったらしい。
そこで、そこそこ新しいであろう vim をインストールする。

brew install vim

バージョン確認

vim --version
-> VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jul  3 2016 19:10:20)

vi の方のリンクが古いままだったので、alias を作る。

# .bash_profile
alias vi="vim"

これで良し、と思いきや clojure ファイルを読み込むとエラーが発生した。

Error detected while processing /Users/name/.vim/.bundle/slimv.vim/ftplugin/lisp/slimv-lisp.vim

vim のバージョンアップに伴って vim script の書き方も変わっているらしく、これまでの slimv ではエラーになってしまうようだ。
エラーが出るのは起動時だけでそれ以後は普通に動くようだが、いかにもうっとうしい。
neobundle update などをやってみても変わらず、今 NeoBundle 自体が非推奨のためリポジトリのアップデートもされていないのだろうか。
そこで直接 slimv を置き換える。
ソースコードgithub にあるので、古い slimv.vim を削除し

git clone https://github.com/kovisoft/slimv .vim/.bundle/slimv.vim

で置き換える。パスは私の環境なので、適宜読み替える必要があるかもしれない。

vi test.clj

インデント、色分け、補完すべて完璧だ。心置きなく clojure を使える。

あとそのうち neobundle から dein に乗り換えよう。