Penggantian ekspresi reguler kasus campuran, dalam Vim


9

Saya sering mengalami situasi di mana saya memiliki file dengan banyak kasus campuran. Sebagai contoh,

CamelCase and camelCase

Saya mencari pengganti ekspresi reguler Vim untuk diproduksi,

AnotherCase and anotherCase

Saat ini saya melakukan ini dalam dua langkah setelah memilih garis secara visual,

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

Apakah ini mungkin dalam satu langkah penggantian, atau haruskah saya melihat opsi lain seperti fungsi .vimrc?

Jawaban:


7

Saya akan menyarankan menggunakan :Subvertvia Tim Pope's Abolish.vim

:%S/camelCase/anotherCase/g

Episode Vimcasts : Substitusi supercharged dengan: Subvert


Plugin ini membuatnya sangat mudah. Saya tidak melihat di bawah tenda, tetapi saya pikir saya akan mencoba :%S/CamelCase/AnotherCase/g, tetapi itu hanya menggantikan CamelCasedan pergi camelCaseapa adanya. Bukan masalah besar, hanya sesuatu yang perlu diingat.
wsams

Kemungkinan menggunakan smartcase atau sesuatu untuk efek tersebut sehingga setiap karakter huruf besar diharuskan menjadi huruf besar tetapi huruf kecil dapat dikapitalisasi sesuai kebutuhan.
dash-tom-bang

3

Anda juga memiliki koper yang mulia .

Dengan

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

Anda akan mendapatkan:

 totoTitiTata -> titiTutu
 TotoTitiTata -> TitiTutu
 tototititata -> tititutu
 tototitiTata -> titiTutu
 TototitiTata -> TitiTutu 
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.