👩💻Трюки Vim. Изменение регистра при замене
\U - если используется в схеме замены, то все, что после него, пишется в верхнем регистре
\L - строчные символы после него
\u - прописные буквы в первом символе того, что следует за ним
\l - опускает первый символ следующего за ним символа
\e или \E - останавливает прописные или строчные буквы
Как мы можем их использовать?
Например, мы можем найти все адреса электронной почты и перевести их в нижний регистр:
:%s/\S\+@\S\+/\L&/
Ключевая часть здесь - \L перед &. Это означает, что в дальнейшем мы будем писать все в нижнем регистре.
Вот еще один вариант. Допустим, мы хотим сделать часть адреса электронной почты, содержащую имя, строчной, но оставить регистр имени компании нетронутым. Таким образом, FirstLast@Company.com станет firstlast@Company.com. В этом случае нам нужно использовать \e (или \E), чтобы завершить манипуляции с регистром символов на полпути к шаблону замены. Окончательная замена будет выглядеть следующим образом:
:%s/\(\S\+\)\(@\S\+\)/\L\1\e\2/g
Важным моментом здесь является подстановка. Мы используем \L, чтобы начать строчное написание, затем \1 для первого захвата (например, FirstLast), затем \e, чтобы закончить строчное написание, а затем \2 для второго захвата (например, @Company.com). В результате первая часть электронного адреса будет выделена нижним регистром, а все остальное останется неизменным.
📲 Мы в MAX
👉 @sysadminof