Vim: Начать совпадение регулярного выражения с начала визуального выбора - PullRequest
4 голосов
/ 30 июля 2011

Я пытаюсь использовать плагин 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 Ответ

1 голос
/ 30 июля 2011

Вам не нужен Tabular для этого.В любом случае, если вы хотите его использовать, сделайте просто:

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

Вам не нужно выбирать блок здесь.Между прочим, не имеет особого смысла работать с табличными и блочными выделениями.Они полезны, когда все уже выровнено.

Но вы должны быть в состоянии выровнять эти линии, выбрав в строчном режиме V , а затем просто нажав = ,В качестве альтернативы используйте движение типа = 8 j и избегайте визуального выбора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...