Trường hợp hỗn hợp thay thế biểu thức chính quy, trong Vim


9

Tôi thường gặp phải một tình huống mà tôi có một tập tin với rất nhiều trường hợp hỗn hợp. Ví dụ,

CamelCase and camelCase

Tôi đang tìm kiếm một thay thế biểu thức chính quy Vim để sản xuất,

AnotherCase and anotherCase

Ngay bây giờ tôi làm điều này trong hai bước sau khi chọn trực quan các dòng,

:s/CamelCase/AnotherCase/g
:s/camelCase/anotherCase/g

Điều này có thể thực hiện được trong một bước thay thế hay tôi nên xem xét các tùy chọn khác như chức năng trong .vimrc?

Câu trả lời:


7

Tôi sẽ đề nghị sử dụng :Subvertqua Tim Pope's Abolish.vim

:%S/camelCase/anotherCase/g

Tập phim Vimcasts : Thay thế siêu tốc bằng: Subvert


Plugin này làm cho nó rất dễ dàng. Tôi đã không nhìn vào mui xe, nhưng nghĩ rằng tôi sẽ thử :%S/CamelCase/AnotherCase/g, tuy nhiên nó chỉ thay thế CamelCasevà để nguyên camelCasenhư vậy. Không có vấn đề lớn, chỉ cần một cái gì đó để nhớ.
wsams

Có khả năng sử dụng smartcase hoặc một cái gì đó để có hiệu lực đó để bất kỳ ký tự chữ hoa nào cũng được yêu cầu viết hoa nhưng chữ thường có thể được viết hoa khi cần thiết.
dash-tom-bang

3

Bạn cũng có những chiếc vali đáng kính .

Với

:SubstituteCase#\ctoto\(Titi\)tata#\1Tutu#g

bạn sẽ có được:

 totoTitiTata -> titiTutu
 TotoTitiTata -> TitiTutu
 tototititata -> tititutu
 tototitiTata -> titiTutu
 TototitiTata -> TitiTutu 
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.