Vim:从视觉选择的开始开始正则表达式匹配

时间:2011-07-30 10:14:27

标签: regex vim

我正在尝试使用vim插件Tabular来对齐一些格式错误的CSS代码。不幸的是,我似乎无法掌握如何在Vim的视觉选择开始时开始比赛。这是一些示例代码:

                       color: #a8a8a8;font-family: Helvetica;                                                       

                       color: #d0d0d0;                                                                              
                       font-weight: normal; background-color: inherit; font-size: 13px !important;                  

        background-color: inherit;                                                                                                                             
                             width: 16px; min-width: 16px; display: inline-block; margin-right: 2ex; margin-left: 2px; 
               text-align: center; height: 0; line-height: .5ex; padding-top: 1ex;                          
       background: transparent;                                                                     

我试图保持对齐到视觉块选择的开始还没有成功,我想知道我到底出错了什么:

'<,'>Tabularize /\%V\s\+\zs\%V/

也就是说,在视觉选择中,匹配任何空格然后开始匹配。这应该是第一个单词字符并在那里左对齐,但我不认为Tabularize识别视觉块选择。此外,\%V没有^的概念,每次都会打破正则表达式。组合^\%V也让我失望。

有关如何在vim中快速格式化和对齐视觉块选择开始的任何建议吗?

1 个答案:

答案 0 :(得分:1)

你不需要Tabular来做到这一点。无论如何,如果你想使用它,做一个简单的:

:'<,'>Tab /^\s\+

此处不需要块选择。顺便说一句,使用Tabular和块选择没有多大意义。事情已经对齐,这些非常有用。

但是你应该能够通过选择 V 的直线模式来对齐这些线,然后点击 = 。或者,使用类似 = 8 j 的动作,并避免视觉选择。