Zastępowanie wyrażeń regularnych mieszanymi przypadkami, w Vim


9

Często spotykam się z sytuacją, w której mam plik zawierający wiele różnych przypadków. Na przykład,

CamelCase and camelCase

Poszukuję zamiany wyrażeń regularnych Vima do produkcji,

AnotherCase and anotherCase

Teraz robię to w dwóch krokach po wizualnym wybraniu linii,

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

Czy jest to możliwe w jednym kroku zastępowania, czy powinienem sprawdzić inne opcje, takie jak funkcja .vimrc?

Odpowiedzi:


7

Sugerowałbym użycie :Subvertpoprzez Abolish.vim Tima Pope'a

:%S/camelCase/anotherCase/g

Odcinek Vimcasts : Supercharge podstawienie przez: Subvert


Ta wtyczka uczyniła to tak łatwym. Nie spojrzałem pod maską, ale pomyślałem, że spróbuję :%S/CamelCase/AnotherCase/g, ale to tylko zastąpi CamelCasei odejdzie camelCase. Nic wielkiego, tylko coś do zapamiętania.
wsams

Prawdopodobnie używa smartcase lub czegoś w tym celu, więc wszystkie duże litery muszą być duże, ale małe litery można w razie potrzeby pisać dużymi literami.
dash-tom-bang

3

Masz także czcigodną pamiątkę .

Z

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

otrzymasz:

 totoTitiTata -> titiTutu
 TotoTitiTata -> TitiTutu
 tototititata -> tititutu
 tototitiTata -> titiTutu
 TototitiTata -> TitiTutu 
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.