Хорошо, один из подходов - использовать функциональность sub-replace-expression
. Следующая команда:
:%s/\(\s*\)\(\w*\)\(.*\)/\= submatch(1) . tolower(submatch(2)) . submatch(3)/
Будет для каждой строки соответствовать whitespace
word
whatever
и заменять его тем же, но word
в нижнем регистре. Я предполагаю, что вы знакомы с ограничениями и использованием регулярных выражений, поэтому я не буду go вдаваться во все подробности того, почему я сделал выражение таким образом, как его изменить или ограничения на их использование в контексте. -бесплатный язык (я думаю?) как здесь yaml
, но токен \=
в команде :s
может быть довольно изящным.