U ovom ćemo članku objasniti jednu od njegovih najkorisnijih značajki, a to je pretraživanje i zamjena. Uz pregršt konfiguracija, možete pretraživati sve što želite velikom brzinom i s finom preciznošću.
Metoda #1 Pronađite i zamijenite jednu pojavu odjednom (pomoću naredbe slash i dot)
Najjednostavniji način pretraživanja i zamjene riječi u Vimu je pomoću naredbe slash i dot. Kosa crta (/) može se koristiti za traženje riječi, dok se točka (.) Može koristiti za zamjenu te riječi.
Slijedite donje jednostavne korake za pretraživanje i zamjenu bilo koje riječi u Vim uređivaču:
- Otvorite datoteku u Vimu
- Pritisnite kosu crtu ( /) zajedno s pojmom za pretraživanje poput / search_term i pritisnite Enter. Istaknut će odabranu riječ.
- Zatim pritisnite tipku cgn kako biste zamijenili označenu riječ i unijeli termin replace_term
- Vratite se u normalni način rada. Zatim pritisnite n za prelazak na sljedeću pojavu pojma za pretraživanje.
- Zatim pritisnite točku (.) Ako sljedeću pojavu želite zamijeniti istim zamjenskim_ terminom. U protivnom ponovno pritisnite tipku n za prelazak na sljedeću pojavu.
To je najbrža i najbolja metoda za osnovno pretraživanje i zamjenjuje funkcije jer uključuje samo nekoliko pritisaka tipki i manje smetnji u vašem trenutnom radu. Međutim, za traženje riječi koja se pojavljuje previše puta, postat će ponavljajući i dugotrajan zadatak.
Uz Vim, postoji još jedan bolji način da se izbjegne ovaj ponavljajući zadatak, a to je korištenje naredbe za zamjenu.
Metoda #2 Pronađi i zamijeni pomoću naredbe Zamijeni
Naredba zamjena može se koristiti za obavljanje osnovnih do naprednih pretraživanja i zamjenu funkcija jednom naredbom. Sintaksa ove naredbe je:
$: s/<pojam za pretraživanje> /<zamijeniti_term> /opcija
Imajte na umu da ovu naredbu morate unijeti u normalnom načinu rada.
Gdje
- S: označava zamjenu
- search_term: riječ koju želite pretraživati i zamijeniti
- replace_term: riječ kojom ga želite zamijeniti
- Opcija: c (za potvrdu), g (zamijenite sve pojave u jednom retku), i (za zanemarivanje slova)
Traži i zamijeni
Za izvođenje osnovnog pretraživanja i zamjene pomoću naredbe substitute upotrijebite sljedeću sintaksu:
:%s/<pojam za pretraživanje> /<zamijeniti_term> /gOva naredba će zamijeniti sve instance search_term sa replace_term.
Na primjer, ovo je naš ogledni tekst:
Ubuntu je jedan od najčešće korištenih Linux OS -a. Ubuntu uključuje tisuće korisnih programa. S Ubuntu naredbenom linijom možete izvršiti gotovo bilo koju vrstu zadatka.
Kako bi se svako pojavljivanje Ubuntua zamijenilo Debianom u sljedećem tekstu, upotrijebila bi se sljedeća naredba:
:%s/Ubuntu/Debian/gTraži i zamijeni u jednom retku
Za pretraživanje i zamjenu pojavljivanja riječi samo u jednom retku umjesto u cijeloj datoteci, upotrijebite sljedeću sintaksu:
: s/<pojam za pretraživanje> /zamijeniti_term/gNa primjer, za zamjenu pojavljivanja Ubuntu -a s Debian -om u gornjem primjeru teksta, upotrijebila bi se sljedeća naredba bez simbola %:
: s/Ubuntu/Debian/gTraži i zamijeni s potvrdom
Ako želite zatražiti potvrdu prije zamjene pojma za pretraživanje, upotrijebite c na kraju naredbe za pretraživanje na sljedeći način:
: s/<pojam za pretraživanje> /<zamijeniti_term> /gcGornja naredba će tražiti potvrdu prije svake zamjene (Unesite y za da, a n za ne).
Traži i zamijeni ne razlikuju velika i mala slova
Kada vršite pretraživanje i zamjenu u Vimu, prema zadanim postavkama razlikuju se velika i mala slova. Možete izvršiti pretraživanje bez razlikovanja velikih i malih slova dodavanjem i na kraju naredbe na sljedeći način:
: s/<pojam za pretraživanje> /<zamijeniti_term> /datiNa primjer, za pretraživanje pojma Ubuntu bez obzira na njegov slučaj (UBUNTU, Ubuntu, ubuntu, uBuntu), upotrijebila bi se sljedeća naredba:
: s/ubuntu/debian/datiPretražite i zamijenite cijelu riječ
Prema zadanim postavkama zamjenska naredba traži bilo koje podudaranje bilo djelomično ili potpuno. Kako biste se podudarali s točnim izrazom search_term, a zatim ga zamijenili s replace_term, priložite _term za pretraživanje unutar.
Na primjer, u nekim dokumentima želite pretraživati i zamijeniti točnu riječ koju sam napisao. U tom slučaju koristila bi se sljedeća naredba:
: s/<vas> /Ja/Pronaći će riječ vi i zamijeniti je sa mnom. Međutim, neće zamijeniti riječi poput vaših.
Traži i zamijeni riječi među određenim redovima
Za traženje riječi među određenim redovima umjesto u samo jednom retku ili cijeloj datoteci, može se koristiti sljedeća sintaksa:
:<startna linija>,<end_line>s/<pojam za pretraživanje> /<zamijeniti_term> /gNa primjer, za pretraživanje i zamjenu pojavljivanja Ubuntua s Debianom iz reda u rasponu od 3 do 8 u nekoj datoteci, naredba bi bila:
:1, 10 s/ubuntu/debian/gZa pretraživanje i zamjenu pojavljivanja riječi iz trenutnog retka u sljedeći x broj redaka, koristila bi se sljedeća sintaksa:
: s/pojam za pretraživanje/zamijeniti_term/g xSlično, za pretraživanje i zamjenu pojavljivanja riječi od trenutnog retka do posljednjeg retka: koristila bi se sljedeća sintaksa:
:.,$ s/pojam za pretraživanje/zamijeniti_term/gZAKLJUČAK
U ovom smo članku naučili dva načina naredbenog retka za pretraživanje i zamjenu bilo koje riječi u Vim uređivaču. Prva naredba koja je koristila kosu crtu i točku je najjednostavnija i najjednostavnija metoda, ali ispada da se ponavlja kada tražite i zamjenjujete riječ koja se pojavljuje previše puta. Druga naredba koja je naredba zamjene mogla bi se činiti teškom i složenom, ali jednom kad je počnete vježbati, bit će vam izuzetno korisna u više scenarija.