Ersatz für reguläre Ausdrücke in gemischten Groß- und Kleinschreibung in Vim


9

Ich stoße oft auf eine Situation, in der ich eine Datei mit vielen gemischten Fällen habe. Zum Beispiel,

CamelCase and camelCase

Ich suche nach einem Vim-Ersatz für reguläre Ausdrücke, um zu produzieren,

AnotherCase and anotherCase

Im Moment mache ich das in zwei Schritten, nachdem ich die Linien visuell ausgewählt habe.

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

Ist dies in einem Ersetzungsschritt möglich, oder sollte ich andere Optionen wie eine Funktion in .vimrcprüfen?

Antworten:


7

Ich würde vorschlagen, :Subvertüber Tim Popes Abolish.vim zu verwenden

:%S/camelCase/anotherCase/g

Vimcasts- Episode: Supercharged Substitution durch: Subvert


Dieses Plugin hat das so einfach gemacht. Ich habe nicht unter die Motorhaube geschaut, dachte aber, ich würde es versuchen :%S/CamelCase/AnotherCase/g, aber es ersetzt nur CamelCaseund bleibt camelCasewie es ist. Keine große Sache, nur etwas, an das man sich erinnert.
— wsams

Es ist wahrscheinlich, dass Smartcase oder ähnliches verwendet wird, sodass Großbuchstaben Großbuchstaben sein müssen, Kleinbuchstaben jedoch nach Bedarf großgeschrieben werden können.
— Dash-Tom-Bang

3

Sie haben auch den ehrwürdigen Aufbewahrungskoffer .

Mit

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

Sie erhalten:

 totoTitiTata -> titiTutu
 TotoTitiTata -> TitiTutu
 tototititata -> tititutu
 tototitiTata -> titiTutu
 TototitiTata -> TitiTutu 
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.