1

私は Ruby gem に取り組んでいます。ファイル内のすべてのドキュメント コメントを非表示にできるようにしたいと考えています。これは、コードを読んだり書いたりするよりも、ライブラリを使用する人のためのものだからです。コメントがあることには価値があると思いますが、コードに取り組んでいるとき、それらは視覚的に気を散らしてしまいます。

MacVim では、コード行を選択して をクリックすることで手動で折りたたむことができますTools > Folding > Create Foldが、何らかのショートカットを使用してすべてのコメントを自動的に非表示にする方法はありますか?

たとえば、次のコード:

  # Returns a 2D array for Rails select helper options.
  # Also used internally for Formtastic support
  #
  # ==== Example
  #  # Create an Enum with some elements
  #  class Priority < ClassyEnum::Base
  #  end
  #
  #  class Priority::Low < Priority; end
  #  class Priority::ReallyHigh < Priority; end
  #
  #  Priority.select_options # => [["Low", "low"], ["Really High", "really_high"]]
  def select_options
    map {|e| [e.text, e.to_s] }
  end

次のように表示されます。

  def select_options
    map {|e| [e.text, e.to_s] }
  end
4

2 に答える 2

3

この方法を試すことができます:

:set fdm=expr
:set fde=getline(v:lnum)=~'^\\s#'?1:getline(prevnonblank(v:lnum))=~'^\\s#'?1:getline(nextnonblank(v:lnum))=~'^\\s*#'?1:0

問題は、この方法が唯一の折り畳みオプションになることです。そのため、おそらく少し極端です。

于 2013-02-10T08:41:43.120 に答える
0

vimさんのfoldmethod設定で遊んでみたいと思います。少しあいまいな回答で申し訳ありませんが、ここには MacVim がないため、私の提案でディレクトリ/ファイル名を自分で調整する必要があります。

まず、:setlocal foldmethod=syntaxコマンド モードで、現在のファイル内でのみ折りたたみを有効にしてみてください。動作する場合は、すべての前提条件 (つまり、ruby.vim構文ファイル) がインストールされています。ファイルに追加let ruby_fold=1してみてください.vimrc。後者は、すべての ruby​​ ファイルの折りたたみを有効にする必要があります (または、set foldmethod=syntax.

次に、ファイル システムを調べruby.vimて調整します。ヒントを与えるために、Linux ディストリビューションでは、/usr/share/vim/vim73/syntax/ruby.vim. 私の構文ファイルは、折り畳まれる可能性のあるすべてのもの (関数、メソッドなど) の折り畳みを有効にします。元のファイルを$HOME/.vim/syntaxディレクトリにコピーし、必要に応じて調整します。それをナビゲートして(foldたとえば、を検索して)fold、折りたたみを適用したくないキーワードを削除します。構文ファイルの名前は一目瞭然なので、ここで問題になることはありません。

vim を再起動して、折りたたみをお楽しみください。それが役立つことを願っています。

于 2013-02-10T05:29:50.633 に答える