Sök…


Ersätt kommando

Detta kommando:

:s/foo/bar/g

ersätter varje förekomst av foo med bar på den aktuella linjen.

fool around with a foodie

blir

barl around with a bardie

Om du lämnar den sista /g ersätter den bara den första förekomsten på linjen. Till exempel,

:s/foo/bar

På den föregående raden skulle bli

barl around with a foodie

Detta kommando:

:5,10s/foo/bar/g

utför samma substitution i raderna 5 till 10.

Detta kommando

 :5,$s/foo/bar/g

utför samma substitution från rad 5 till slutet av filen.

Detta kommando:

:%s/foo/bar/g

utför samma substitution på hela bufferten.

Om du är i visuellt läge och träffar kolon kommer symbolen '<,'> att visas. Du kan sedan göra det här

:'<,'>s/foo/bar/g

och att ersättningen sker inom ditt visuella lägesval.

Detta kommando:

:%s/foo/bar/gc

motsvarar kommandot ovan men ber om bekräftelse vid varje händelse tack vare flaggan /c (för "bekräftelse").

Se :help :s och :help :s_flags .

Se även detta avsnitt om kommandorader .

Byt ut med eller utan vanliga uttryck

Detta ersättningskommando kan använda Regular Expressions och kommer att matcha varje förekomst av foo följt av vilket som helst (ett) tecken sedan perioden . i Regular Expressions matchar alla tecken, följaktligen kommer följande kommando att matcha alla förekomster av foo följt av alla tecken i den aktuella raden.

:s/foo./bar/g
  1 fooing fooes fool foobar foosup

kommer att bli

  1 barng bars bar barar barup

Om du vill matcha det bokstavliga . period kan du undvika det i sökfältet med en backslash \ .

:s/foo\./bar/g
  1 fooing fooes foo.l foo.bar foosup

kommer att bli

  1 fooing fooes barl barbar foosup

Eller inaktivera alla matchande mönster genom att följa s kommandot med no .

:sno/foo./bar/g
  1 fooing fooes foo.l foo.bar foosup

kommer att ge upp ett fel

  E486: Pattern not found


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow