vim
Zoek en vervang
Zoeken…
Plaatsvervangend commando
Deze opdracht:
:s/foo/bar/g
vervangt elk optreden van foo door een bar op de huidige regel.
fool around with a foodie
wordt
barl around with a bardie
Als u de laatste /g , wordt alleen de eerste keer op de regel vervangen. Bijvoorbeeld,
:s/foo/bar
Op de vorige regel zou worden
barl around with a foodie
Deze opdracht:
:5,10s/foo/bar/g
voert dezelfde vervanging uit in regel 5 tot en met 10.
Deze opdracht
:5,$s/foo/bar/g
voert dezelfde vervanging uit van regel 5 tot het einde van het bestand.
Deze opdracht:
:%s/foo/bar/g
voert dezelfde vervanging uit op de gehele buffer.
Als u zich in de visuele modus bevindt en op de dubbele punt drukt, verschijnt het symbool '<,'> . U kunt dit dan doen
:'<,'>s/foo/bar/g
en de vervanging laten plaatsvinden binnen uw selectie van de visuele modus.
Deze opdracht:
:%s/foo/bar/gc
is gelijk aan het bovenstaande commando maar vraagt om bevestiging bij elke gelegenheid dankzij de /c vlag (voor "bevestiging").
Zie :help :s en :help :s_flags .
Zie ook dit gedeelte over opdrachtregelbereiken .
Vervangen door of zonder reguliere expressies
Deze vervangende opdracht kan reguliere expressies gebruiken en komt overeen met elke instantie van foo gevolgd door een willekeurig (één) teken sinds de periode . in Reguliere uitdrukkingen komt overeen met elk teken, daarom komt het volgende commando overeen met alle instanties van foo gevolgd door elk teken in de huidige regel.
:s/foo./bar/g
1 fooing fooes fool foobar foosup
zal worden
1 barng bars bar barar barup
Als je het letterlijke wilt evenaren . periode kunt u eraan ontsnappen in het zoekveld met een backslash \ .
:s/foo\./bar/g
1 fooing fooes foo.l foo.bar foosup
zal worden
1 fooing fooes barl barbar foosup
Of schakel alle patroonovereenkomst uit door het commando s met no .
:sno/foo./bar/g
1 fooing fooes foo.l foo.bar foosup
zal een fout veroorzaken
E486: Pattern not found