2012-05-01 24 views
1

在ruby编程中,我们在多行字符串中有特殊类型的评论,这些评论将被评估。它们看起来像这样:https://github.com/rails/rails/blob/8775ffa37231d381cba34f0ecacb8a7bbcf0573f/activesupport/lib/active_support/memoizable.rb#L77在vim中支持特定类型的评论

该字符串在两部分上逐行划分:具有将在左侧评估的插值的字符串和右侧的代码示例。手动输入此评论是一项艰苦的工作。它需要许多手动缩进。

vim中有一些插件或工具可以帮助代码这种类型的评论吗?

+0

考虑emacs的时间:D? – stevebot

+0

它有一些功能吗? – abonec

+0

http://linux.byexamples.com/archives/153/vim-tip-1-align/ – 2012-05-01 16:27:36

回答

5

首先,了解,使生活更容易为这样的东西在vim的特征:

这里有两种方法:

假设垂直分割总是在(在此示例中像84)固定柱:

/\%84v#\zs 

将定位垂直分隔栏。现在你可以操作,例如

快速和脏:折叠意见成对

这导致折叠注释行的 '模板' 行之后:

:g//s//\r  /

注:(9)空间有被选择为匹配OP样本的起始缩进级别。
IRL,你可以使用indent('.')找出多少空间编程

普雷斯托:

enter image description here

要重组:

:g//join! 

可能有东西“吃相结合'冗余缩进(9个空格)

:g//j!|norm! n9x 

替代方案:

我通常选择到块分割成物理文件来代替。重组它们将需要更多努力,但编辑更加舒适,您可以利用vim的diffmode。

只是一个快速启动:

ggn<C-v>ND 
:tabnew | 0put 
:tabprev 
gvVxgvVd 
:tabnext | vert new | 0put 

把窗户diffmode:

:windo diffthis 

现在你可以独立编辑两个窗口,用活差异突出。

enter image description here

让我知道,如果你想在这个战略更多的投入。我可能会尝试从分离的临时窗口配置重新组合。