Выравнивание текста по непоследовательным строкам с помощью табличного плагина Vim - PullRequest
0 голосов
/ 03 апреля 2011

Я хотел бы выровнять эти строки кода:

    let cty                     = -- trace ("new var " ++ (show vname) ++ " " ++ (show exp1))
              synthTy ctx vtype
        newctx                  = C.addLocalVar ctx vname cty
        ckd                     = checkExp newctx exp1 cty

как это:

    let cty     = -- trace ("new var " ++ (show vname) ++ " " ++ (show exp1))
                  synthTy ctx vtype
        newctx  = C.addLocalVar ctx vname cty
        ckd     = checkExp newctx exp1 cty

С помощью табличного плагина для vim, если я выделю все строки и наберу :Tab /=, они выровняются так, как я их набрал в первом случае. Я бы хотел, чтобы они выстроились в линию, как во втором случае. Как я могу получить вторую строку для сопоставления со второй группой вместо первой? Я могу обмануть и добавить равенства перед словами во 2-й строке, но я думаю, что должен быть лучший способ.

1 Ответ

1 голос
/ 03 апреля 2011

Попробуйте это:

:Tabularize/=.*$\|^\s*\zs  [^=]\+$
...