ดูhttp://vim.wikia.com/wiki/Changing_case_with_regular_expressions
มันอธิบายตัวปรับ \ U, \ L, \ u, \ l ค่อนข้างชัดเจนและชัดแจ้ง!
สาระสำคัญของมันคือต่อไปนี้:
มีบางครั้งที่คุณอาจต้องการดูไฟล์และเปลี่ยนตัวพิมพ์ที่ตรงกับเกณฑ์ที่กำหนด หากคุณเข้าใจการแสดงออกปกติดีคุณสามารถทำได้อย่างง่ายดาย
ง่ายเหมือนการวาง \ U หรือ \ L ไว้ด้านหน้า backreferences ที่คุณต้องการเปลี่ยนเคสและ \ E ที่ส่วนท้าย กลุ่มจะทำให้ข้อความใน backreference เป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก (ตามลำดับ) ใช้ \ u และ \ l (โดยไม่มี \ E ที่ส่วนท้าย) เพียงแค่เปลี่ยนตัวพิมพ์ของอักขระตัวแรกใน backreference
("backreference" เป็นส่วนหนึ่งของนิพจน์ทั่วไปที่อ้างถึงส่วนก่อนหน้าของนิพจน์ทั่วไป backreferences ที่พบบ่อยที่สุดคือ &, \ 1, \ 2, \ 3, ... , \ 9)
ตัวอย่างบางส่วนที่แสดงให้เห็นถึงพลังของเทคนิคนี้:
ตัวพิมพ์เล็กทั้งไฟล์
:% s /.*/ \ L & / g
(& เป็นการอ้างอิงย้อนหลังที่สะดวกซึ่งอ้างอิงถึงข้อความทั้งหมดของการแข่งขัน)
พิมพ์ใหญ่ทุกคำที่นำหน้าด้วย <(เช่นเปิดชื่อแท็ก HTML):
:%s/<\(\w*\)/<\U\1/g
หมายเหตุด้วยคำสั่ง gu และ gU
ตัวอย่างเช่น ggguG จะเป็นตัวพิมพ์เล็กทั้งหมด (gg = ไปที่ด้านบน gu = ตัวพิมพ์เล็ก G = ไปที่ EOF)
ด้วยการใช้ \ backgo ทั่วไป \ 0 แทนที่จะเป็นชื่อ (\ 1, \ 2 ฯลฯ ) คุณสามารถบันทึกการพิมพ์บางส่วนไว้บนแทนที่ stanza ของ regex
regex ส่วนบนนี้เป็นชุดของคำที่ชัดเจนที่จะพิมพ์ใหญ่ในไฟล์:
:%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