vim

quickrun.vim

vim

バッファ上のソースコードを実行 - MEMO:はてな支店 今後の課題 実行結果を分割ウインドウに出せるといいなあ http://d.hatena.ne.jp/katona/20070723/1185200165 と書いたままほったらかしにしている間に、この課題を解決+αしているものを発見。 Vim-users…

Sendkey

vim

vimから他のアプリケーションにキーシーケンスを送って制御する関数を作った。 って、単にWScript.Shellを呼び出してるだけだけど。 使い方 :call Sendkey('対象アプリケーションのウインドウタイトル','送信するキーシーケンス') コード本体 function! Send…

拡張子とファイルタイプ

vim

拡張子とファイルタイプの対応づけは$VIMRUNTIME/filetype.vimに定義されているようだ。 Vim documentation: filetype 詳細: ":filetype on"コマンドは次のファイルのうち1つをロードする。 MS-DOS $VIMRUNTIME\filetype.vim Unix $VIMRUNTIME/filetype.vim …

Haskell mode for Vim

vim

omni補完、ヘルプ、デバッグなどお便利機能満載。 Haskell mode for Vim いい感じかも。 激しく使えそうなコマンドが、 :GHCi main ghciで関数mainを作用させられる。 http://d.hatena.ne.jp/tanakaBox/20071018/1192653919 良さそうなのでインストールして…

バッファ上のソースコードを実行

vim

その時点のバッファ上のソースコードを拡張子に応じた処理系で実行する。 動機 今までは、:%!rubyとかで済ましてたんだけど、runghcとかwscriptだと ファイルの拡張子を見てるのでそれに対処するために作ってみた。 準備 以下の内容をwindowsなら$VIM/_vimrc…

スクリプト版FizzBuzz

vim

ドキュメントを見ていたらmapとかrangeとかが使えるのがわかったのでちょっと練習にFizzBuzzを書いてみた。 バッファに出力版 :call append(0,map(range(1,100),'!(v:val%15)?"FizzBuzz":!(v:val%3)?"Fizz":!(v:val%5)?"Bazz":v:val')) バッファを汚さない版…

オブジェクト指向

vim

vimスクリプトでプロトタイプベースの書き方が出来たとは。 試しに今回は複素数オブジェクトを作ってみる。 let Complex={} function Complex.new(r,i) dict let obj=copy(self) let obj.real=a:r let obj.img=a:i return obj endfunction function Complex.…