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.