--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2008/03/27

vim のコンパイル

vim の -clipboard を +clipboard にしたり、-mzscheme を +mzscheme にしてみたいなーとか思って vim のコンパイルをやってみた。

ことごとく失敗して諦めた。そのうちまた挑戦ってことで。。。

apt のバイナリ配布 & バイナリインストールに慣れたせいか、コンパイルからのインストールにことごとく失敗するなぁ。

2008/02/05

Vim いじり

基本的に用意されたものにはあまり文句を言わないタチ(のつもり)な俺だけど、最近 Vim 使っててちょっとしたことが面倒だなと感じてきた。

本当にちょっとしたことで、例えば

:w
:!gosh %

って入力するのが面倒とかそういうレベル。

当然この程度は、ちょこっと自前の Vim スクリプトを書けばいい。

function! SaveAndEval()
  w %
  exe "!gosh ".expand("%")
endfunction

nmap  :call SaveAndEval()

てな感じのを ~/.vim/ftplugin/scheme.vim とかに書いておけば、先の

:w
:!gosh %

をスペースキー1つで実行できる。

で、こういうのやり始めて気づいたんだけど、開発環境をこういった感じでいじるのって結構楽しい。言ってしまえば自分のやりたいようにできちゃうわけだ。

Vim の場合、基本的に Vim スクリプトでこれを行うわけなんだけど、文法からして拒絶反応起こしてしまう。Python ならなんとかやれそうだけど、コンパイルし直すのはなんか面倒だし。この際だし片手間に Vim スクリプトのお勉強でもやっちゃおうかしら。。。

2008/01/28

vim で scheme コーディング

1つ前のエントリで、「vim じゃ emacs のインタラクティブシェルを用いた開発の真似できないようーいいなー」って嘆いた。それから5分くらい考えてみた。

  • vim も当然、ウィンドウ分割が可能である
  • 問題はインタラクティブシェルを vim 内に取り込めないこと
  • 別の手法で気軽にテストはできる方法があれば、それでいいのでは
  • Gauche には標準でユニットテストのモジュールが備わっている
  • これが結構簡単で、しかもカッコイイログを吐いてくれる
  • 片方コーディング、片方ユニットテストでいいんじゃね
  • ユニットテストを実行するときは :!gosh % か、前に作った :Run とかを使う

騙し騙しでそういうことになりました。めでたしめでたし。

2008/01/24

vim に自作のコマンドを追加する

scheme を vim で書いてて、ふと Haskell mode の :GHCi みたいなことがやりたくなったので、コマンドを自作しよう。と、思ったが、今にして思えばそんなことしたことがなかった。なので今まで見たことがなかったプラグインの .vim ファイルを眺めて、それっぽいところを調べた。

vim でコマンドを定義するには、command コマンドを使う。command! とかあるけど、結構単純。以下サンプル。

"hoge と出力するコマンド: Hoge
"ただし、他に Hoge コマンドがある場合はエラーを吐く
command Hoge echo "hoge"
"fuga と出力するコマンド: Fuga
"ただし、他に Fuga がある場合はエラーを吐かず、上書きする
command! Fuga echo "fuga"

command[!] コマンド名 実行内容 という構成。! がつけば上書きになるのは、function のそれと同じ。

で、肝心の scheme 実行コマンドは

autocmd BufEnter *scm command! Run echo system("/usr/bin/env/ gosh ".expand("%"))

*.scm ファイルを読み込む時に、開いてるバッファの scheme プログラムを、/usr/bin/env gosh で実行するコマンド Run を定義する。

2007/12/07

HHK Lite 2 が俺の肩を壊す

先日会社に HHK Pro を持っていった。理由は単純に会社のほうがキーボードに触ってる時間が長いから。というわけで自宅は HHK Lite になってしまった。これはこれでしょうがないので、とりあえず英語配列にして使っている。横長の Enter キーになれたので間違って [ キーを打ったり、シフトの位置がずれてて _ キーを打ったりとか色々町が得るけど、まぁ配列はどうにでもなる。でもやっぱ硬いしうるさい。

eclim とか haskell mode for vim を試したり、ほぼデフォルト状態で使ってた vimrc をいじったりとかするために久しぶりに Lite を叩きまくってたら肩が痛くなった。力抜こうとはするけど、硬すぎて自然と力が入ってしまう不思議。

eclim は覚えれば快適なんだろうけどなぜか今は覚える気がしない。gVim + eclipse で十分なんだよなぁ。

haskell mode for vim はこれから試す。会社の gVim で試したときは重すぎて使いものにならないというのが感想だった。Linux の vim でも大差はないだろうけど、とりあえず試す。個人的にはインデントさえどうにかする機能が備わってれば使いやすいかなぁと。あとは map を駆使し、vim から GHCi に突っ込みやすくして、エディット <-> 実行をシームレスに行えるような環境を作ることができれば十分なのかなと思ってるけど。

ま、何はともあれ試す。

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。