Linux

Poiščite in zamenjajte v Vim / Vi

Poiščite in zamenjajte v Vim / Vi

Ta članek opisuje, kako najti in zamenjati besedilo v Vim / Vi.

Vim je najbolj priljubljen urejevalnik besedil v ukazni vrstici. Prednameščen je v sistemih macOS in večini distribucij Linuxa. Iskanje in zamenjava besedila v Vimu je hitra in enostavna.

Osnovno iskanje in zamenjava #

V Vimu lahko poiščete in nadomestite besedilo s pomočjo : nadomestek (: s) ukaz.

Če želite zagnati ukaze v Vimu, morate biti ob zagonu urejevalnika v običajnem načinu, privzetem načinu. Če se želite vrniti v običajni način iz katerega koli drugega načina, preprosto pritisnite tipko 'Esc'.

Splošna oblika nadomestnega ukaza je naslednja:

: [obseg] s / vzorec / niz / [zastavice] [štetje] 

Ukaz preišče vsako vrstico v [obseg] za vzorec, in ga nadomesti z vrvica. [štetje] je pozitivno celo število, ki pomnoži ukaz.

Če ne [obseg] in [štetje] so podani, zamenja se samo vzorec v trenutni vrstici. Trenutna vrstica je vrstica, kamor je postavljen kazalec.

Če želite na primer poiskati prvi pojav niza 'foo' v trenutni vrstici in ga nadomestiti z 'bar', uporabite:

: s / foo / bar / 

Če želite zamenjati vse pojavitve iskalnega vzorca v trenutni vrstici, dodajte g zastava:

: s / foo / bar / g 

Če želite poiskati in zamenjati vzorec v celotni datoteki, uporabite znak za odstotek % kot obseg. Ta znak označuje obseg od prve do zadnje vrstice datoteke:

:% s / foo / bar / g 

Če je vrvica del je izpuščen, šteje se za prazen niz in ujemajoči se vzorec se izbriše. Naslednji ukaz izbriše vse primerke niza 'foo' v trenutni vrstici:

: s / foo // g 

Namesto poševnice (/), lahko uporabite kateri koli drug ne-alfanumerični enobajtni znak, razen kot ločilo. Ta možnost je uporabna, če imate v vzorcu iskanja ali nadomestnem nizu znak '/'.

: s | foo | bar | 

Za potrditev vsake zamenjave uporabite c zastava:

: s / foo / bar / gc 
zamenjaj z vrstico (y / n / a / q / l / ^ E / ^ Y)? 

Pritisnite y za zamenjavo tekme oz l za zamenjavo tekme in izstop. Pritisnite n da preskočite tekmo in q ali Esc prenehati z zamenjavo. The a možnost nadomesti tekmo in vse preostale pojavitve tekme. Za pomikanje zaslona navzdol uporabite CTRL + Y, in če se želite pomakniti navzgor, uporabite CTRL + E.

Kot vzorec iskanja lahko uporabite tudi regularne izraze. Ukaz spodaj nadomešča vse vrstice, ki se začnejo z 'foo' z 'Vim je najboljši':

:% s / ^ foo.* / Vim je najboljši / gc 

The ^ (kareta) se ujema z začetkom vrstice in .* se ujema s poljubnim številom znakov.

Čutnost med velikimi in malimi črkami

Privzeto je postopek iskanja občutljiv na velike in male črke; iskanje "FOO" se ne bo ujemalo z "Foo".

Če želite prezreti črko za vzorec iskanja, uporabite jaz zastava:

: s / Foo / bar / gi 

Drug način, kako prisiliti ignoriranje primera, je dodati \ c po vzorcu iskanja. Na primer, / Linux \ c izvede ignoriranje iskanja po velikih črkah.

Če ste spremenili privzeto nastavitev velikih in malih črk in želite iskati z občutljivimi črkami, uporabite jaz zastava:

: s / foo / bar / gi 

Velike črke \ C potem ko vzorec sili tudi iskanje ujemanja po velikih črkah.

Številka iskanja

Če ni določen noben obseg, nadomestni ukaz deluje samo v trenutni vrstici.

Obseg je lahko ena vrstica ali razpon med dvema vrsticama. Specifikatorji vrstic so ločeni z , ali ; znakov. Območje lahko določite z absolutno številko vrstice ali posebnimi simboli.

Na primer, če želite nadomestiti vse pojavitve 'foo' s 'bar' v vseh vrsticah, ki se začnejo od vrstice 3 do vrstice 10, bi uporabili:

: 3,10s / foo / bar / g 

Obseg je vključujoč, kar pomeni, da sta v obseg vključeni prva in zadnja vrstica.

Pika . znak označuje trenutno vrstico in $ - znak za dolar zadnja vrstica. Če želite "foo" nadomestiti v vseh vrsticah, ki se začnejo od trenutne do zadnje:

:.,$ s / foo / bar / 

Specifikator vrstic lahko nastavite tudi s simbolom '+' ali '-', čemur sledi številka, ki se doda ali odšteje od prejšnje številke vrstice. Če je številka za simbolom izpuščena, je privzeto 1.

Če želite na primer nadomestiti vsako "foo" s "bar", ki se začne od trenutne vrstice in štirih naslednjih vrstic, vnesite:

:.,+4s / foo / bar / g 

Zamenjava celotne besede #

Nadomestni ukaz vzorec išče kot niz in ne kot celotna beseda. Če ste na primer iskali »gnu«, iskanje poišče ujemanje, kjer je »gnu« vdelan v večje besede, na primer »cygnus« ali »magnum«.

Če želite poiskati celo besedo, vnesite \< da označite začetek besede, vnesite vzorec iskanja in vnesite \> za označitev konca besede:

Na primer, za iskanje besede "foo", ki bi jo uporabili \:

: s / \/bar/ 

Nadomestna zgodovina #

Vim spremlja vse ukaze, ki jih izvajate v trenutni seji. Če želite brskati po zgodovini prejšnjih nadomestnih ukazov, vnesite : s in s puščičnima tipkama gor / dol poiščite prejšnjo nadomestno operacijo. Če želite zagnati ukaz, preprosto pritisnite Enter. Ukaz lahko tudi uredite, preden izvedete operacijo.

Primeri #

Vrstice komentarjev (dodaj # pred vrstico) od 5 do 20:

: 5,20s / ^ / # / 

Prekličite vrstice od 5 do 20, povrnite prejšnje spremembe:

: 5,20s / ^ # // 

Vse primere "jabolko", "pomaranča" in "mango" zamenjajte s "sadje":

:% s / jabolko \ | oranžna \ | mango / sadje / g 

Odstranite končni presledek na koncu vsake vrstice:

:% s / \ s \ + $ // e 

Zaključek #

Iskanje in zamenjava je močna značilnost Vima, ki vam omogoča hitro spreminjanje besedila.

Če imate kakršna koli vprašanja, lahko pustite komentar.

Levi gumb miške ne deluje v sistemu Windows 10
Če s prenosnikom ali namiznim računalnikom uporabljate namensko miško, vendar gumb miške z levim klikom ne deluje v operacijskem sistemu Windows 10/8/...
Kazalec skoči ali se naključno premika med tipkanjem v sistemu Windows 10
Če ugotovite, da kazalec miške med tipkanjem v prenosnem računalniku ali računalniku Windows samodejno, naključno preskakuje ali se premika sam, vam l...
Kako obrniti smer drsenja miške in sledilne ploščice v sistemu Windows 10
Miška in Sledilna ploščicaRačunalništvo ni samo enostavno, ampak bolj učinkovito in manj zamudno. Življenja brez teh naprav si ne moremo predstavljati...