vim用にrubyの辞書が欲しかったので用意した | blog: takahiro okumura などを読んでRubyの辞書を作りたくなりました。 しかし、先ほどのコードはrbenv前提であり私はrbenvを使っていないため、るりまから辞書を作成しました。
「辞書」とは
単語を改行区切りで羅列したファイルです。
辞書ファイルに書かれた単語が対象のファイルタイプで補完されます。
作り方
Rubyリファレンスのダウンロード
まずは、bitclust
gem をインストールします。
そして、bitclustからRubyのリファレンスをダウンロードします。
ちなみに、bitclustに依存しているrefe2 gemをインストールすると、Ref.vimで便利に使えます。
$ gem install bitclust $ bitclust setup --versions=2.1.0
versionの部分は使用したいバージョンで。
辞書の作成
bitclust --list method
で、メソッド一覧が吐き出されるのでこれを利用します。
以下のRubyコードに上記のコマンドの出力を食わせて、辞書ファイルを作成します。
STDIN.map do |line| line =~ /^.+[#.]([a-zA-Z0-9_?!]+)$/ $1 end.select do |name| name and name.size > 2 end.sort.uniq.each do |name| puts name end
メソッド一覧から演算子でないメソッドを取り出し、かつ3文字以上のメソッドを出力しています。
これをruby.rb
などと保存して、
$ bitclust --list method | ruby ruby.rb > ruby.dict
などとしてやると、ruby用の辞書が作成されます。
vimrcの編集
let s:neco_dicts_dir = $HOME . '/dicts' if isdirectory(s:neco_dicts_dir) let g:neocomplete#sources#dictionary#dictionaries = { \ 'ruby': s:neco_dicts_dir . '/ruby.dict' \ } endif
vimrcにこのように書きます。
~/dicts/
下にruby.dict
をおいてください。
Demo
これでRubyファイルを編集していると、このように補完できます。楽しいヽ( >ヮ<)ノ