См. Http://vim.wikia.com/wiki/Changing_case_with_regular_expressions.
Это объясняет модификаторы \ U, \ L, \ u, \ l довольно ясно и кратко!
Суть его заключается в следующем:
В некоторых случаях вам может понадобиться просмотреть файл и изменить регистр символов, которые соответствуют некоторым произвольным критериям. Если вы хорошо понимаете регулярные выражения, вы можете сделать это довольно легко.
Это так же просто, как поместить \ U или \ L перед обратными ссылками, регистр которых вы хотите изменить, и \ E в конце. Vim сделает текст в верхнем или нижнем регистре обратной ссылки (соответственно). Используйте \ u и \ l (без \ E в конце), чтобы просто изменить регистр самого первого символа в обратной ссылке.
(«Обратная ссылка» - это часть регулярного выражения, которая ссылается на предыдущую часть регулярного выражения. Наиболее распространенными обратными ссылками являются &, \ 1, \ 2, \ 3, ..., \ 9).
Некоторые примеры, демонстрирующие мощь этой техники:
Строчные весь файл
:% S /.*/ \ л & / г
(& это удобная обратная ссылка, которая ссылается на полный текст матча.)
Прописные буквы всех слов, которым предшествует <(то есть открываются имена тегов HTML):
:%s/<\(\w*\)/<\U\1/g
Обратите внимание также на команды gu и gU.
Например, ggguG будет в нижнем регистре весь файл. (gg = перейти наверх, gu = строчные буквы, G = перейти к EOF).
Используя \ 0 общую обратную ссылку вместо именных (\ 1, \ 2 и т. Д.), Вы можете сохранить некоторые данные для замены в разделе замены регулярного выражения.
Это регулярное выражение в верхнем регистре - явный набор слов в верхнем регистре в файле:
:%s/\(select\)\|\(order)\|\(by\)\|\(from\)\|\(where\)/\U\0/g
Не ракетостроение, но в противном случае вам придется сделать это:
:%s/\(select\)\|\(order)\|\(by\)\|\(from\)\|\(where\)/\U\1\U\2\U\3\U\4\U\5/g