ruby - 有没有办法在 Vim 中折叠所有多行 Ruby 注释?

标签 ruby vim comments macvim

我正在开发一个 Ruby gem,我希望能够隐藏文件中的所有文档注释,因为它们更适合使用库的人,而不是阅读或编写代码的人。我看到了评论的值(value),但是当我处理代码时,它们在视觉上分散了我的注意力。

在 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

最佳答案

你可以试试 this method :

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

问题是这种方法将成为唯一的折叠选项,所以这可能有点极端。

关于ruby - 有没有办法在 Vim 中折叠所有多行 Ruby 注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14792787/

相关文章:

vim - 在vim中切换光标下字符的大小写

Emacs:在评论中突出显示 TODO *only*

java - 保持评论对象状态的最佳方法是什么?

ruby-on-rails - 如何将 Ruby 散列转换为 XML?

ruby - Ruby uniq 是否保留顺序?

mysql - 如何使订单仅适用于非空记录但获取所有记录?

vim - 在 iTerm 1 和 2 上的 NeoVim 中 Solarized 的深色主题背景不正确

vim - 为什么在 Vim 的插入模式下粘贴一个长的单行代码很慢?

javascript - 使用 JS 在源代码中搜索内容的首选方式是什么?

ruby - 如何使用 Ruby 构建 HTTP 请求并将其发送到 Tor 隐藏服务