Saturday, December 26, 2009

vimでruby

3つの方法
  1. :ruby puts 'hello'
  2. :rubydo gsub(/\w+/){|m| m.upcase} (または、:%!ruby -pe 'gsub....'
  3. :rubyfile hello.rb
あるいはVimScript中でRubyを呼ぶ
function! Claims()
ruby <<EOF
$KCODE = 'u'
require 'jcode'
require 'patent'
cb = VIM::Buffer.current
pf = PatentFile.new(cb.name)

claims = pf.claims?
puts claims.map{ |c| "Claim #{c[:no]} inv:#{c[:inv]} subof:#{c[:subof]} err:#{
c[:err]}"}
EOF
endfunction

ただ、VimScriptとRuby間での引数を渡す方法がわからない
一つ分かった
name = VIM::evaluate('a:name')

evaluateを使う

No comments: