Siehe http://vim.wikia.com/wiki/Changing_case_with_regular_expressions
Hier werden die \ U, \ L, \ u, \ l-Modifikatoren ganz klar und prägnant erklärt!
Sein Wesen ist das Folgende:
In manchen Fällen möchten Sie möglicherweise eine Datei durchgehen und die Groß- und Kleinschreibung von Zeichen ändern, die bestimmten Kriterien entsprechen. Wenn Sie reguläre Ausdrücke gut verstehen, können Sie dies ziemlich einfach tun.
Es ist so einfach, \ U oder \ L vor die Rückverweise zu setzen, deren Groß- / Kleinschreibung Sie ändern möchten, und \ E am Ende. Vim schreibt den Text in Groß- oder Kleinbuchstaben. Verwenden Sie \ u und \ l (ohne das \ E am Ende), um nur die Groß- und Kleinschreibung des allerersten Zeichens in der Rückbeziehung zu ändern.
(Ein "Rückverweis" ist ein Teil eines regulären Ausdrucks, der sich auf einen vorherigen Teil eines regulären Ausdrucks bezieht. Die häufigsten Rückverweise sind &, \ 1, \ 2, \ 3, ..., \ 9).
Einige Beispiele, die die Leistungsfähigkeit dieser Technik demonstrieren:
Kleinschreibung der gesamten Datei
:% s /.*/ \ L & / g
(& ist eine praktische Rückreferenz, die sich auf den vollständigen Text der Übereinstimmung bezieht.)
Großschreibung aller Wörter, denen ein <vorangestellt ist (dh HTML-Tag-Namen öffnen):
:%s/<\(\w*\)/<\U\1/g
Beachten Sie auch die Befehle gu und gU.
Zum Beispiel wird mit ggguG die gesamte Datei in Kleinbuchstaben geschrieben. (gg = nach oben gehen, gu = Kleinbuchstaben, G = nach EOF gehen).
Indem Sie das \ 0-General-Backref anstelle der Namen-Backref (\ 1, \ 2 usw.) verwenden, können Sie einige Eingaben für die Ersetzungszeilengruppe des regulären Ausdrucks speichern.
Diese Regex-Großbuchstaben bestehen aus einer expliziten Menge von Wörtern, die in einer Datei in Großbuchstaben geschrieben werden:
:%s/\(select\)\|\(order)\|\(by\)\|\(from\)\|\(where\)/\U\0/g
Keine Raketenwissenschaft, aber sonst müsstest du Folgendes tun:
:%s/\(select\)\|\(order)\|\(by\)\|\(from\)\|\(where\)/\U\1\U\2\U\3\U\4\U\5/g