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