Vim Regex найти и заменить - PullRequest
3 голосов
/ 30 июня 2011

Я хочу использовать регулярное выражение для замены некоторых строк в моем файле. Я ищу: %s/^ [a-z]*/ / то, что я хочу сделать, это заменить все [a-z] *, которые имеют 2 пробела, на вменяемый [a-z] с 4 пробелами Есть ли какая-нибудь замена на месте или как я могу достичь этого с помощью vim?

С наилучшими пожеланиями

Ответы [ 2 ]

3 голосов
/ 30 июня 2011

Я считаю более простым использование объекта \ze для определения конца совпадения:

:%s/  \ze[a-z]*/    /g

, поэтому [a-z]* не входит в замену, а просто используется для сопоставлениясоответствующие пробелы.

3 голосов
/ 30 июня 2011
:%s/  \([a-z]*\)/    \1/g

должен делать работу; остерегайтесь выполнения этого несколько раз, потому что результат замены будет соответствовать шаблону ввода:)

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