Vim vanlige uttrykk

Vim vanlige uttrykk
Regelmessige uttrykk (eller regexps for kort) er verktøy som brukes til å endre tekst og data. De er ikke tilgjengelige som et frittstående produkt, men snarere som en del av en programvare eller verktøy. Unix Grep, et program som søker på filer etter linjer som passer til et mønster, er det mest kjente eksemplet. Regexps kan tenkes som et sofistikert mønsterspråk. Regexps er ekstremt nyttige og kan drastisk minimere hvor lang tid det tar å fullføre kjedelige tekstredigeringsoppgaver.

Regelmessige uttrykk ser ut til å få raskt fordel blant VIM -brukere når de lærer om den utrolige programmeringsevnen som de kan gi. Vims syntaks skiller seg litt fra Perl, men den er nær nok. Som et resultat kan VIM -brukere dra nytte av eksempler på vanlige uttrykk. I denne artikkelen vil vi diskutere de mest brukte vanlige uttrykkene i VIM med eksempler. La oss komme i gang.

Her har vi en fil som heter MyFile som har alle brikkene som vi kanskje vil takle, så det første vi vil gjøre er det globale søket og erstatter, så dette er ganske enkelt. For det første vil vi åpne denne filen med denne kommandoen.

$ vim myfile

Type kolon. Det vil få deg i kommandolinjemodus og type prosent, alle linjer i filerstatningen. Vi kan gjøre noe veldig enkelt, som å erstatte alle tilfellene der du ser Ind med LAS, for eksempel, så det er den slags enkleste erstatning.

Denne kommandoen vil gjøre endringene. Du kan sammenligne følgende skjermbilde med det første til å observere at IND erstattes med LAS.

Det er mange andre måter å bruke søk og erstatte, så sannsynligvis alle vet her er hvis du skriver inn din visuelle linjemodus (trykkskift+V).

Vi har valgt en tekstblokk og erstattet IND med LAS; For eksempel, hvis vi trykker Q og Colon, kan vi redigere dette og si at vi også ønsker å endre overalt hvor du ser Dub til Las.

Dette er den typen enkleste demonstrasjon av søk og erstatter, slik at du kan gjøre mange forskjellige måter den første er den typen hele filen med prosent du kan spesifisere når du velger et utvalg her, og du ser på Den sier automatisk at du vet hva du har valgt med apostrof mindre enn en apostrof større enn du også kan, da du kan spesifisere et bestemt område.

Nå kan vi si på linje to til linje syv, erstatte Eng med RST.

Å legge tekst til side, nå kan vi vurdere alle stedene der det er null, og la oss erstatte den med en.

Du vil kanskje legge merke til at dette bare fremhevet den første kampen, så det er mange som på relativ linje to der oppe; Du kan se at vi har mange ekstra nuller; Det er flagg som du kan utstede, for eksempel G for å gjøre alle kampene per linje.

Dette er veldig nyttig hvis du programmerer fordi du kanskje har flere forekomster av en variabel på samme linje, men du vil kanskje også gi bekreftelse hver gang hva du kan gjøre med C C -flexene for å bekrefte, så du sier ja ( Trykk Y) Vil du bytte ut den og nei (trykk n) hvis du ikke vil erstatte et bestemt siffer. Når du er ferdig, vet du at du enten kan komme deg gjennom kampsetteren du kan trykke på Q, og disse erstatningene vil bli gjort.

Dette er den korteste oversikten og kanskje den mest grunnleggende måten å bruke erstatningskommandoen. Det er spesialtegn for å erstatte der du ikke nødvendigvis vil spesifisere nøyaktig hva kampen din er ved å skrive det ut slik for eksempel, hvis vi sier finn alle stedene der det er et ordkarakter, så dette er alt som er et brev og ikke et rom i utgangspunktet så romkarakterer med s og sifre med d hvis du for eksempel vil matche et sett med disse, kan du spesifisere hvor mange så hvis du vil matche fire av dem om gangen, så nå vil du se at vi har Bare grupper på fire vi vil også si bare gi meg hvis det er en eller flere slash pluss, så dette kommer til å være alle tilfellene der du har ett eller flere sifre på en linje.

Det er “S” og kapital “S” som samsvarer med romkarakterer som inkluderer dine mellomrom, fanene dine og newlineer; Det er sifferetegnene 0 til 9 eller ikke sifferet tegn som vil være kapital d med små bokstaver D er sifferetegn, og så har du ordet ditt eller ikke ordtegn som er noe som ikke er rom, så det er din slags mest nyttige erstatning kommandoer og generelt hvordan du bruker dem.

Andre ting er nyttige med vanlige uttrykk. La oss for eksempel si at hvis du vil erstatte alle sakene der du har amerikansk rom null med noe.

Dette er en ok måte å løse dette problemet på, men hvis du bruker veldig magi, som er dette / v. La oss bare anta at det ikke er her, og vi vil gjøre en som er magisk her.

Her er amerikansk rom og lukkes, så det er vår kamp. Da vil vi matche den en, eller la oss gjøre det på denne måten, la oss matche nulene fordi det er noen av dem. Vi ønsker å erstatte de med det samme amerikanske rommet, og her ville vi gjøre backslash 1, og nå kjenner det amerikansk rom og følger det med en 3, så nå har vi gått fra amerikansk rom 0 til amerikansk rom 3.

Her er et annet eksempel å gi deg når du vil beholde litt av kampen din, men du vet kanskje ikke nødvendigvis hva det er eller hvordan det kommer til å bli formatert eller kan være forskjellig fra en linje til den neste, men i dette tilfellet, Det du vil gjøre er at du vil fortelle dem å starte på linjene som sier amerikansk, men ikke vil starte kampen før her ZS og deretter si match et siffer og deretter avslutte kampen og la oss erstatte med en tre.

Konklusjon

Vi har gjort det; Dette har vært en kort oversikt over vanlige uttrykk. Temaer som vi har dekket er hvordan vi kan velge områder for substitusjon, hva metakaraktørene er eller rettere sagt supertegn for ordplass og sifre, hvordan du kan gjøre fangstgrupper, hvordan du spesifiserer start og slutt på en kamp, ​​og deretter hvordan du velger rekkevidde Bruke vanlige uttrykk som du enkelt kan gjøre i programmene dine.