Reemplazo de expresión regular en mayúsculas y minúsculas, en Vim


9

A menudo me encuentro con una situación en la que tengo un archivo con muchas mayúsculas y minúsculas. Por ejemplo,

CamelCase and camelCase

Estoy buscando un reemplazo de expresión regular Vim para producir,

AnotherCase and anotherCase

En este momento hago esto en dos pasos después de seleccionar visualmente las líneas,

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

¿Es esto posible en un paso de reemplazo, o debería buscar otras opciones como una función .vimrc?

Respuestas:


7

Sugeriría usar a :Subverttravés de Abolish.vim de Tim Pope

:%S/camelCase/anotherCase/g

Episodio de Vimcasts : sustitución sobrealimentada con: Subvertir


Este complemento lo hizo tan fácil. No miré debajo del capó, pero pensé en intentarlo :%S/CamelCase/AnotherCase/g, sin embargo, solo reemplaza CamelCasey se fue camelCasecomo está. No es gran cosa, solo algo para recordar.
wsams

Es probable que use smartcase o algo así para que los caracteres en mayúscula sean mayúsculas, pero las minúsculas pueden escribirse en mayúsculas según sea necesario.
dash-tom-bang

3

También tienes el venerable maletín .

Con

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

obtendrás:

 totoTitiTata -> titiTutu
 TotoTitiTata -> TitiTutu
 tototititata -> tititutu
 tototitiTata -> titiTutu
 TototitiTata -> TitiTutu 
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.