Cum să găsiți și să înlocuiți text în Vim pe Linux

vim este unul dintre cei mai populari editori de fișiere din Linux. O parte din popularitate se datorează modului de linie de comandă al vim, care permite utilizatorilor, în special dezvoltatorilor de software și utilizatorilor avansați, să optimizeze timpul pentru operațiunile de modificare a fișierelor.

În acest articol, vom vedea cum să găsim și să înlocuim text vim modul linie de comandă.

Mai întâi, să deschidem un fișier text în vim:

vim test.txt

Vim funcționează în diferite moduri. Două moduri cele mai importante sunt modul de comandă menționat mai sus, iar al doilea este modul Insert, folosit pentru a modifica conținutul fișierului.

În mod implicit, când un fișier este deschis, vim operează în modul de comandă. Puteți apăsa i pentru a trece la modul Inserare.

În modul Command, puteți începe direct să tastați comenzile vim; ele apar în partea de jos a terminalului. Această parte de jos acționează ca un prompt de comandă integrat în vim.

Pentru a căuta un șir, tastați backslash / urmat de șirul de căutat.

De exemplu: /dog

După cum sa văzut mai sus, duce cursorul la următoarea apariție a șirului din poziția în care este plasat cursorul. Cursorul a fost plasat pe șir maro așa cum se arată într-o imagine anterioară. Pentru a găsi următoarele apariții, apăsați n. După ultima apariție, se întoarce la prima, dând un mesaj „căutarea a apăsat BOTTOM, continuând sus”.

Pentru a căuta un șir cu un caracter special, sau, de exemplu, caractere precum un plus (+) sau un spațiu, preced caracterul cu o bară oblică:

De exemplu: /C\+

Pentru a găsi și înlocui primul șir de apariție pe o linie, plasăm cursorul pe acea linie și folosim următoarea comandă:

De exemplu: :s/câine/tigru

După cum puteți vedea în captura de ecran de mai sus, a treia linie în care este plasat cursorul, cuvântul câine a fost înlocuit cu tigru conform instrucțiunilor din comandă.

Pentru a găsi și înlocui toate aparițiile șirului pe o linie, utilizare /g la sfârșitul.

De exemplu: :s/cat/dog/g

Pentru a găsi și înlocui toate aparițiile la nivel global, folosim %s în loc de numai s:

De exemplu: :%s/dog/mouse

Dacă șirul constă dintr-un caracter special, cum ar fi spațiul, acesta poate fi precedat de o bară oblică, în același mod în care s-a arătat mai sus.

? Noroc!