いろいろ動かなかった agda-vim ですが、なんとか動きました。
https://github.com/derekelkins/agda-vim
~/.vim/bundle の下に置けって書いてあるけど、それをするためには、pathogen ってのを使わないといけなかったらしい。
https://gist.github.com/romainl/9970697
まぁ、いろいろね。Get Pathoben と Configure Pathogen をやるらしい。
で、動いたんですが、
,l で reload すると、一旦、Terminal画面にvimから戻って、agdaのSkipping ... が大量にでる
これはちょっとなぁ。Emacs だと、別バッファ上でやるので、元のバッファは残ってる。消えるのはちょっとなぁ。
学生は「動画を見る限り使えるようですが」とか言ってましたが、動画でも同じ状況でした。作った人は「でっかいターミナル一つ」な人のようで、それだと気にならないんだろうな。
ちょっと、ソースを見ると、
def RestartAgda():
global agda
agda = subprocess.Popen(["agda", "--interaction"], bufsize = 1, stdin = subprocess.PIPE, stdout = subprocess.PIPE, universal_newlines = True)
ってことで、Python 2.7で実行しているらしい。 この辺でダサいことになっているんだろうな。プロセスの扱いは Emacs は最初から頑張っていた。
vim でもterminal modeとか作っている人がいるようですが...
自分で手直しするかどうかは気分次第だな。subprocess.Popen を追求するのは気が重いです。
まぁ、でも、その reload を我慢すれば、まぁ、使えます。Emacs の vipper と agda の相性の悪さと戦うよりは良いかも。
No comments:
Post a Comment