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!