2016-09-22 13 views

ответ

1

Итак, вы хотите, чтобы вставить пробел перед каждой строки не начиная с минус:

соответствующая команда является :%s/^\([^-]\)/ \1/

Это ломается, как:

: - запуск команды

%s - регулярное выражение на всех линиях

/^\([^-]\) - соответствие начало строки, а затем любой символ, кроме -, который мы будем называть группу 1

/ \1 - замените на пробел, за которым следует все, что было в группе 1

/ - конец регулярного выражения, выполняется не более одного раза на каждом ли пе

Другие варианты:

При выборе намеченных линий в визуальном блоке, набрав : запустит команду с '<,'>. Затем перейдите к регулярному выражению, начиная с s (нет %), и оно будет применяться только к выделенным линиям.

Если вы положите его на /c, он будет запрашивать подтверждение при каждой замене. Если вы закончите его с /g, он будет работать несколько раз в строке, если это применимо. /gc.

Если вы хотите, чтобы десятичные точки были выровнены, а не первые цифры, это сложнее и, вероятно, не может быть выполнено с помощью простой команды в vi или vim.