我正在开发一个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
答案 0 :(得分:3)
您可以尝试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
问题是这种方法会成为唯一的折叠选项,所以可能有点极端。
答案 1 :(得分:0)
我想您希望使用vim
的{{1}}设置。对不起有点模糊的回答,但我这里没有MacVim,所以你应该自己调整目录/文件名。
首先,在命令模式下尝试foldmethod
以仅在当前文件中启用折叠。如果可行,则安装了所有必备软件(即:setlocal foldmethod=syntax
语法文件。)尝试将ruby.vim
添加到let ruby_fold=1
文件中。后者应该能够折叠所有ruby文件(或者,对于支持使用.vimrc
折叠的所有文件类型,您可以将折叠设置为true。)
现在,您要在文件系统上找到set foldmethod=syntax
来进行调整。为了提示,在Linux发行版上它位于ruby.vim
。我的语法文件可以折叠所有“可能”折叠的东西(例如函数,方法等)。将原始文件复制到/usr/share/vim/vim73/syntax/ruby.vim
目录并根据需要进行调整。浏览它(例如,通过搜索$HOME/.vim/syntax
)并删除您不希望应用折叠的fold
关键字。语法文件中的名称不言自明,因此您不会遇到麻烦。
重新启动vim并享受折叠。希望有所帮助。