音響プログラミング環境SuperColliderのdefaultのeditorって超使いずらい。なんかいちいちmouseに手を伸ばさなきゃいけなくて、キーボードで完結しない。
なのでvimから操作できるようにしてみました。
これを使いました。
https://github.com/sbl/scvim
とてもいい感じです。
今のところWEBアプリケーション書いてる感じでSClang書けそうな感じがします。
install
NeoBundleを使っていれば、.vimrcに以下を追加して、.vimrcのリロードをするだけでplugin自体はinstallできます。
NeoBundle 'sbl/scvim'
Macであれば以下を実行ししてSuperColliderとこのpluginを結びつけます。(詳しいことはよくわかりません)
ln -s ~/.vim/bundle/scvim/sc/SCVim.sc ~/Library/Application\ Support/SuperCollider/Extensions/SCVim.sc
Extensionsディレクトリがない場合は、作って下さい。
SuperColliderの場所が以下であることを確認します。
/Applications/SuperCollider.app
自分の場合はなぜか、
/Applications/SuperCollider/SuperCollider.app
だったので移動させました。
これでinstallは完了です。
server起動
まず.sc(d)という拡張子のファイルを開くなり作るなりしてvimを起動します。
:SClangStart
というコマンドをたたくと、ターミナルがもう一つ開いていつもPost Windowに表示されていた内容が出力されます!
今編集中のファイルに
s.boot;
と書き込みます。
そして、カーソルがこの行にある状態でF6キー押します。(MacってFnキーを押しながらじゃないとダメなんですね)
対象の行を実行するショートカットです。便利便利。
おお、server起動しました!
ちなみにF5キーはブラケット間のコードを実行してくれるようですね。最高!
AutoCompletion作成
公式READMEだと:SCTags
でtag生成してくれるって書いてるんですが、なぜか僕の環境だとE492: Not an editor command: SCTags
になっちゃうので、以下をファイル内に記入し、
SCVim.generateTagsFile();
F6で実行しました。これで多分カレントディレクトリ以下のファイルからtagを作ってautocompletionを作成してくれます。
自分の場合は、自前のファイル群がなかったので、SCに最初についてくるexampleファイル群で実行しました。
/Applications/SuperCollider/examples
おお、SiっていれたらSinOsc
ってサジェストしてくれました!
音を出してみる
編集中のファイルに
{SinOsc.ar(440)}.play;
と書き、カーソルがこの行ある状態でF6を押します。
おお、なりました!
音止めるときは、F12でとまる!
ヘルプを見る。
知りたい単語の上にカーソルがある状態で、K(shift+k)を押すと、おお、いつも見ているhelp画面が別Windowで立ち上がってくれてその単語のページを出してくれてます!
まとめ
この感じだとメインで使っても良さそうなきがしています!
参考
https://github.com/sbl/scvim
Get started with MacVim and scvim