10

全て、

私はしばらくの間 vim を使用してきましたが、vim のすべてが気に入っています。RubyMine のような IDE で欠けているものは 1 つだけです。それは高度なオートコンプリートです。

参考までに、私の標準的な VIM セットアップは次のとおりです: https://github.com/wrwright/.vim

私は omnicomplete + supertab で ctags を試しましたが、欠けている主要な要素の 1 つは、属性/定数/メソッドの状況依存リストを表示する機能です。たとえば、RubyMotion を学ぶとき、iOS SDK の定数/属性/メソッドを覚えるのを手伝ってもらいたいのですが、私の VIM オートコンプリートはクラス名の提案で停止します..または、メソッド/属性を提案する場合は、大量のリストが表示されます私が扱っているクラスにも適用されないメソッド/属性。

(簡単な例) UIColor.bl と入力して、UIColor.blueColor でオートコンプリートできるようにしたいと思います (または、UIColor のプロパティである「bl」で始まるオプションが複数ある場合は提案します)。

RubyMine はこれを非常にうまく行っており、オートコンプリートで VIM を同様にスマートにすることができれば、それは素晴らしいことです (そして、RubyMotion/iOS 開発を学習する際に大きな恩恵となります.

SnipMate も試してみました ( https://github.com/rcyrus/snipmate-snippets-rubymotionで RubyMotion に合わせたバリエーションも試しました) が、探している機能が提供されていないようです。

4

3 に答える 3

6

ストック Vim のオムニコンプリート + vim-rubyvim-railsは、NetBeans と同等の補完機能を備えていますが、もちろん、Vim のすべての機能とはるかに低いリソース要件に比較的満足しています。

補完オプションに関する私の .vimrc から:

autocmd FileType ruby,eruby let g:rubycomplete_buffer_loading = 1 
autocmd FileType ruby,eruby let g:rubycomplete_classes_in_global = 1
autocmd FileType ruby,eruby let g:rubycomplete_rails = 1
于 2013-03-30T22:07:06.007 に答える
1

Rubymotion でちょっとした幸運があったことの 1 つは、YouCompleteMe とタグ サポートの有効化です。rubymotion が使用するタグは約 40k タグであるため、大量の RAM が必要になります (YCM は、大きなタグ ファイルをインデックス化する場合に約 2GB を使用します)。

欠点は、rubymotion の人々がプル リクエストをレビューしてフィードバックを提供することを望んでいないように見えることです。箱。

動作させるには、タグファイルを正しく設定する必要があります

set tags=./tags;,tags;

次に、オフタグを完了するために ycm をセットアップする必要があります。

let g:ycm_collect_identifiers_from_tags_files = 1

ctags ファイルも ycm と互換性があるようにする必要があります。このプルリクエストはそれを行います。ctags の作成に言語フィールドを追加してから、bridgesupport を ruby​​ に変更する必要があります。

そのためのプルリクエスト

その後、プロジェクトのルートで rake ctags を実行する必要があります。

project.rb ファイルを変更したくない場合は、ほとんど同じことを行う独自の rake タスクを作成できます。

于 2015-04-05T17:15:23.050 に答える