VimでGoogleの電卓機能を使うプラグインGCalc.vim書いた
Google Suggest APIで電卓もどき - ほとんど欄外をRubyからVimScriptに移植した風なもの。
scriptencoding utf-8 function! GCalc(...) let word = a:1 let res = webapi#http#get('http://www.google.co.jp/complete/search?output=toolbar&q='.webapi#http#escape(word)).content if match(res, 'calculator_suggestion') == -1 echohl ErrorMsg | echo '答えが出せませんでした' | echohl None return endif let dom = webapi#xml#parse(res) echo dom.find('calculator_suggestion').attr['data'] endfunction command! -nargs=+ GCalc call GCalc(<q-args>)
動かすにはmattnさんのwebapi-vimが必要。というかこのプラグインの95%位はwebapi-vimのおかげなんじゃないだろうか。
mattn/webapi-vim · GitHub
使い方例
:GCalc 1+1 2 :GCalc 13 km in yard 14216.9729 yard :GCalc 0x10 in decimal 16 :GCalc answer to life the universe and everything 42
注意点としては「1kmをマイルで」とか「e^(π*i)」みたいにマルチバイト文字が入ってくる場合、GoogleのAPIが計算結果を返してくれないので計算できない。他には為替計算とかも同様の理由で無理のようだ。だがそれ以外は虚数計算指数関数なんでもござれ。
:GCalc e^(pi*i) -1 :GCalc log(1024) 3.01029996 :GCalc cosh(12) 81377.3957
単位換算とか進法の変換とかが便利かも
補記:
Googleの電卓機能についてはこのページが役立つかも
google電卓リファレンス
追記2010-12-13:
続き
GCalc.vimに超絶簡易補完機能を追加した - ほとんど欄外
追追記2011-04-10:
思うところあって名称変更。GoogleCalc.vimからGCalc.vimへ
補記2012-05-05:
GitHubに移した
tasuten/gcalc.vim · GitHub