vim用にrubyの辞書が欲しかったので用意した

#ruby #vim

vimで使うRuby用の辞書を作った」を参考に、コードをちょっと修正してRuby 2.1.1用のvim辞書を用意した。

ソースコード

#!/usr/bin/env ruby
 
require 'uri'
 
if ARGV.size != 1
  fail ArgumentError, "Set directory path like $HOME/.rbenv/versions/2.1.1/"
end
 
methods = []
Dir.glob(File.expand_path(ARGV[0]) + "/**/*.ri").each do |file|
  method = URI.decode(File.basename(file))
 
  if /\A(.*)-\w*\.ri\Z/ =~ method
    methods << $1
  end
end
 
methods.uniq.sort.each do |method|
  puts method unless method.size == 1
end

設定

このコードにmakedict.rbみたいな名前をつけて、用語一覧を.vim/dict/ruby.dictに保存。

./makedict.rb ~/.rbenv/versions/2.1.1 > ~/.vim/dict/ruby.dict

vim補完にneocompleteを使っているので、.vim/vimrcで以下のように設定した(vim 7.4以降は.vimrcじゃなくて$HOME/.vim/vimrcがデフォルトっぽいです)

" Dictionary
let $VIMHOME = $HOME . '/.vim'
let g:neocomplete#sources#dictionary#dictionaries = {
    \ 'default' : '',
    \ 'ruby' : $VIMHOME.'/dict/ruby.dict'
\ }

rubyを書く時にしょっちゅうメソッド名が分からなくなってしまい、その度に調べるのが面倒だったが、これで少しは手間も省けて、typoも減らせるかな。

参考