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?

wsams
fuente

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

Peter Rincker
fuente
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 
Luc Hermitte
fuente