Linux

Leidke ja asendage Vim / Vi-s

Leidke ja asendage Vim / Vi-s

Selles artiklis kirjeldatakse, kuidas Vim / Vi-s teksti leida ja asendada.

Vim on kõige populaarsem käsurea tekstiredaktor. See on eelinstallitud macOS-i ja enamikus Linuxi distributsioonides. Vimis teksti leidmine ja asendamine on kiire ja lihtne.

Põhiline leidmine ja asendamine #

Vimis saate teksti leida ja asendada, kasutades : asendaja (: s) käsk.

Vimis käskude käivitamiseks peate redaktori käivitamisel olema tavarežiimis - vaikerežiimis. Muust režiimist normaalrežiimi naasmiseks vajutage lihtsalt klahvi Esc.

Asenduskäsu üldine vorm on järgmine:

: [vahemik] s / muster / string / [lipud] [loend] 

Käsk otsib kõiki ridu [vahemik] le muster, ja asendab selle a-ga string. [loend] on positiivne täisarv, mis korrutab käsu.

Kui ei [vahemik] ja [loend] on antud, asendatakse ainult praegusel real leitud muster. Praegune rida on kursori asetamise rida.

Näiteks stringi 'foo' esmakordse otsimiseks praegusel real ja selle asendamiseks 'ribaga' kasutage järgmist:

: s / foo / baar / 

Kõigi praeguse rea otsingumustri esinemiste asendamiseks lisage g lipp:

: s / foo / bar / g 

Kui soovite kogu failis mustrit otsida ja asendada, kasutage protsentmärki % vahemikuna. See märk tähistab vahemikku faili esimesest kuni viimase reani:

:% s / foo / bar / g 

Kui string osa jäetakse välja, seda peetakse tühjaks stringiks ja sobitatud muster kustutatakse. Järgmine käsk kustutab kõik stringi „foo” eksemplarid praegusel real:

: s / foo // g 

Kaldkriipsu märgi (/), saate kasutada mis tahes muid tähtnumbrilisi ühebaidiseid märke, välja arvatud eraldajana. See valik on kasulik, kui otsingumustris või asendustringis on märk '/'.

: s | foo | baar | 

Iga asenduse kinnitamiseks kasutage nuppu c lipp:

: s / foo / bar / gc 
asenda ribaga (y / n / a / q / l / ^ E / ^ Y)? 

Vajutage y tiku asendamiseks või l matši asendama ja lõpetama. Vajutage n matš vahele jätta ja q või Esc asendamisest loobumiseks. The a variant asendab matši ja kõik ülejäänud matši esinemised. Ekraani allapoole kerimiseks kasutage klahvi CTRL + Y, ja üles kerimiseks kasutage CTRL + E.

Otsemudelina saate kasutada ka regulaaravaldisi. Käsk bellow asendab kõik read, mis algavad tähega „foo” sõnaga „Vim on parim”:

:% s / ^ foo.* / Vim on parim / gc 

The ^ (caret) sümbol ühtib rea algusega ja .* sobib suvalise arvu tähemärkidega.

Suur- ja väiketähtede tundlikkus

Vaikimisi on otsinguoperatsioon tõstutundlik; otsingu „FOO” otsimine ei vasta „Foo” -le.

Otsingumustri tähtede ignoreerimiseks kasutage i lipp:

: s / Foo / bar / gi 

Teine võimalus juhtumi ignoreerimiseks on lisada \ c pärast otsingumustrit. Näiteks, / Linux \ c ignoreerib juhtumite otsimist.

Kui muutsite väiketähtede sätet ja soovite teha suurt ja väiketähti, kasutage Mina lipp:

: s / foo / bar / gi 

Suurtäht \ C pärast mustrit sunnib ka juhtumivastet otsima.

Otsinguvahemik #

Kui vahemikku pole määratud, töötab asenduskäsk ainult praegusel real.

Vahemik võib olla kas üks rida või kahe rea vaheline vahemik. Joonespetsifikaatorid on eraldatud tähisega , või ; tähemärki. Vahemiku saab määrata absoluutse rea numbri või spetsiaalsete sümbolite abil.

Näiteks kõigi foo esinemiste asendamiseks ribaga kõigil ridadel, mis algavad reast 3 kuni rea 10, kasutage järgmist:

: 3,10 s / foo / baar / g 

Vahemik on kõikehõlmav, mis tähendab, et esimene ja viimane rida on vahemikus.

Täpp . märk näitab praegust rida ja $ - dollari märk viimane rida. 'Foo' asendamine kõigil ridadel, mis algavad praegusest reast viimaseni:

:.,$ s / foo / baar / 

Rea täpsustaja saab määrata ka sümboliga „+” või „-”, millele järgneb number, mis lisatakse või lahutatakse eelmisest rea numbrist. Kui sümbolijärgne number jäetakse välja, on see vaikimisi 1.

Näiteks asendage iga „foo” praeguse rea ja nelja järgmise reaga algusega „riba”, tippige:

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

Kogu sõna asendamine #

Asenduskäsk otsib mustrit stringina, mitte täissõnana. Näiteks kui otsisite sõna „gnu”, leiab otsing vasteid, kus „gnu” on manustatud suuremate sõnadega, näiteks „cygnus” või „magnum”.

Terve sõna otsimiseks tippige \< sõna alguse märkimiseks sisestage otsingumuster, tippige \> sõna lõpu tähistamiseks:

Näiteks sõna „foo” otsimiseks, mida te kasutaksite \:

: s / \/ baar / 

Asendusajalugu #

Vim jälgib kõiki käske, mida käimasoleval seansil käivitate. Varasemate asenduskäskude ajaloo sirvimiseks sisestage : s ja kasutage eelmise asendusoperatsiooni leidmiseks noolenuppe üles / alla. Käsu käivitamiseks vajutage lihtsalt Sisenema. Enne toimingu tegemist saate käsku ka muuta.

Näited #

Kommenteerida read (lisada # enne joont) 5 kuni 20:

: 5,20 s / ^ / # / 

Kommenteerimata read vahemikus 5 kuni 20, tühistage eelmised muudatused:

: 5,20 s / ^ # // 

Asendage kõik õunte, apelsinide ja mangode esinemissõnad puuviljadega:

:% s / õun \ | apelsin \ | mango / puuvili / g 

Eemaldage iga rea ​​lõpust tühik:

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

Järeldus #

Otsimine ja asendamine on Vimi võimas funktsioon, mis võimaldab teil oma teksti kiiresti muuta.

Kui teil on küsimusi, jätke julgelt kommentaar.

10 parimat mängu, mida Ubuntu kaudu mängida
Windowsi platvorm on olnud üks mängude domineerivaid platvorme, kuna tohutu protsent mänge areneb täna Windowsi loomupäraseks toetamiseks. Kas keegi s...
5 parimat arkaadmängu Linuxile
Tänapäeval on arvutid tõsised mängimiseks kasutatavad masinad. Kui te ei saa uut rekordit, teate, mida ma mõtlen. Selles postituses saate teada mõnda ...
Lahing Wesnothi eest 1.13.6 Areng vabastati
Lahing Wesnothi eest 1.13.6 ilmus eelmisel kuul, on 1-s kuues arendusversioon.13.x-seeria ja see pakub mitmeid täiustusi, eelkõige kasutajaliidese ja ...