LFCS: Sådan installeres og bruges vi/vim som en fuldteksteditor - Del 2


For et par måneder siden lancerede Linux Foundation LFCS (Linux Foundation Certified Sysadmin) certificering for at hjælpe enkeltpersoner fra hele verden med at kontrollere, at de er i stand til at udføre grundlæggende til mellemliggende systemadministrationsopgaver på Linux-systemer: systemstøtte, først -hånds fejlfinding og vedligeholdelse plus intelligent beslutningstagning for at vide, hvornår det er tid til at rejse problemer til øvre supportteams.

Se nedenstående video, der forklarer Linux Foundation-certificeringsprogrammet.

Dette indlæg er del 2 af en 10-tutorial-serie, her i denne del vil vi dække de grundlæggende filredigeringsoperationer og forståelsesmetoder i vi/m-editor, der kræves til LFCS-certificeringseksamen.

Udfør grundlæggende filredigeringshandlinger ved hjælp af vi/m

Vi var den første tekstredigerer i fuld skærm skrevet til Unix. Selvom det var beregnet til at være lille og enkel, kan det være lidt udfordrende for folk, der udelukkende bruges til GUI-teksteditorer, såsom NotePad ++ eller gedit, for at nævne nogle få eksempler.

For at bruge Vi skal vi først forstå de 3 tilstande, hvor dette kraftfulde program fungerer, for at begynde at lære senere om dets kraftfulde tekstredigeringsprocedurer.

Bemærk, at de fleste moderne Linux-distributioner leveres med en variant af vi kendt som vim ("Vi forbedret"), som understøtter flere funktioner end den oprindelige vi gør. Af den grund vil vi gennem denne tutorial bruge vi og vim ombytteligt.

Hvis din distribution ikke har vim installeret, kan du installere den som følger.

  1. Ubuntu og derivater : aptitude-opdatering && aptitude install vim
  2. Red Hat-baserede distributioner : yum update && yum install vim
  3. openSUSE : zypper opdatering && zypper installation vim

Hvorfor skal jeg lære vi?

Der er mindst 2 gode grunde til at lære vi.

1. vi er altid tilgængelig (uanset hvilken distribution du bruger), da det kræves af POSIX.

2. vi forbruger ikke en betydelig mængde systemressourcer og giver os mulighed for at udføre tænkelige opgaver uden at løfte fingrene fra tastaturet.

Derudover har vi en meget omfattende indbygget manual, som kan startes ved hjælp af kommandoen : hjælp lige efter start af programmet. Denne indbyggede manual indeholder flere oplysninger end vi/m's mandside.

For at starte vi skal du skrive vi i din kommandoprompt.

Tryk derefter på i for at gå til Indsæt tilstand, og du kan begynde at skrive. En anden måde at starte vi/m på er.

# vi filename

Hvilket åbner en ny buffer (mere om buffere senere) med navnet filnavn, som du senere kan gemme på disken.

1. I kommandotilstand giver vi brugeren mulighed for at navigere rundt i filen og indtaste vi-kommandoer, som er korte, store og små bogstaver med et eller flere bogstaver. Næsten alle af dem kan være forud for et nummer for at gentage kommandoen det antal gange.

Eksempelvis kopierer åå (eller Y ) hele den aktuelle linje, mens 3åå (eller ) kopierer hele den aktuelle linje sammen med de to næste linjer (3 linjer i alt). Vi kan altid gå ind i kommandotilstand (uanset hvilken tilstand vi arbejder på) ved at trykke på Esc -tasten. Det faktum, at tastaturtasterne i kommandotilstand tolkes som kommandoer i stedet for tekst, har tendens til at være forvirrende for begyndere.

2. I tilstanden ex kan vi manipulere filer (herunder at gemme en aktuel fil og køre uden for programmer). For at komme ind i denne tilstand skal vi skrive et kolon (: ) fra kommandotilstand, direkte efterfulgt af navnet på den ex-mode kommando, der skal bruges. Derefter vender vi automatisk tilbage til kommandotilstand.

3. I indsættelsestilstand (bogstavet i bruges ofte til at gå ind i denne tilstand), indtaster vi simpelthen tekst. De fleste tastetryk resulterer i, at der vises tekst på skærmen (en vigtig undtagelse er Esc -tasten, der forlader insert-tilstand og vender tilbage til kommandotilstand).

Følgende tabel viser en liste over almindeligt anvendte vi-kommandoer. Kommandoer til filudgaver kan håndhæves ved at tilføje udråbstegn til kommandoen (for eksempel

Følgende muligheder kan være nyttige, når du kører vim (vi skal tilføje dem i vores ~/.vimrc fil).

# echo set number >> ~/.vimrc
# echo syntax on >> ~/.vimrc
# echo set tabstop=4 >> ~/.vimrc
# echo set autoindent >> ~/.vimrc

  1. indstillet nummer viser linjenumre, når vi åbner en eksisterende eller en ny fil.
  2. syntaks tænder for syntaksfremhævning (for flere filtypenavne) for at gøre kode og konfigurationsfiler mere læsbare.
  3. sæt tabstop = 4 indstiller fanestørrelsen til 4 mellemrum (standardværdien er 8).
  4. sæt autoindent overføres forrige indryk til næste linje.

vi har evnen til at flytte markøren til et bestemt sted (på en enkelt linje eller over en hel fil) baseret på søgninger. Det kan også udføre tekstudskiftninger med eller uden brugerens bekræftelse.

en). Søgning inden for en linje: kommandoen f søger i en linje og flytter markøren til den næste forekomst af et bestemt tegn i den aktuelle linje.

For eksempel vil kommandoen fh flytte markøren til den næste forekomst af bogstavet h inden for den aktuelle linje. Bemærk, at hverken bogstavet f eller det tegn, du søger efter, vises nogen steder på skærmen, men tegnet fremhæves, når du har trykket på Enter .

For eksempel er det, hvad jeg får efter at have trykket på f4 i kommandotilstand.

b). Søgning efter en hel fil: Brug kommandoen / efterfulgt af det ord eller den sætning, der skal søges efter. En søgning kan gentages ved hjælp af den forrige søgestreng med kommandoen n eller den næste (ved hjælp af kommandoen N ). Dette er resultatet af at skrive /Jane i kommandotilstand.

c). vi bruger en kommando (svarende til sed) til at udføre substitutionshandlinger over en række linjer eller en hel fil. For at ændre ordet " gammel " til " ung " for hele filen skal vi indtaste følgende kommando.

 :%s/old/young/g 

Bemærk: Tyktarmen i begyndelsen af kommandoen.

Kolon (: ) starter ex-kommandoen, s i dette tilfælde (til erstatning), % er en genvejsbetydning fra første linje til den sidste linje (området kan også specificeres som n , m hvilket betyder "fra linje n til linje m"), gammel er søgemønster, mens ung er erstatningsteksten, og g angiver, at udskiftningen skal udføres ved hver forekomst af søgestrengen i filen.

Alternativt kan en c tilføjes i slutningen af kommandoen for at bede om bekræftelse, før der udføres nogen erstatning.

:%s/old/young/gc

Før vi erstatter den originale tekst med den nye, vil vi/m give os følgende meddelelse.

  1. y : udfør substitutionen (ja)
  2. n : spring denne forekomst over, og gå til den næste (nej)
  3. a : udfør erstatningen i dette og alle efterfølgende forekomster af mønsteret.
  4. q eller Esc : afslut med at erstatte.
  5. l ( små bogstaver L ): udfør denne udskiftning og afslut (sidste).
  6. Ctrl-e , Ctrl-y : Rul henholdsvis ned og op for at se sammenhængen med den foreslåede erstatning.

Lad os skrive vim file1 file2 file3 i vores kommandoprompt.

# vim file1 file2 file3

Først åbner vim fil1 . For at skifte til den næste fil ( fil2 ) skal vi bruge kommandoen : n . Når vi vil vende tilbage til den forrige fil, udfører : N jobbet.

For at skifte fra fil1 til fil3 .

en). Kommandoen : buffere viser en liste over den fil, der aktuelt redigeres.

:buffers

b). Kommandoen : buffer 3 (uden s i slutningen) åbner fil3 til redigering.

På billedet ovenfor angiver et pundtegn ( # ), at filen i øjeblikket er åben, men i baggrunden, mens % a markerer den fil, der aktuelt redigeres. På den anden side angiver et tomt mellemrum efter filnummeret (3 i ovenstående eksempel), at filen endnu ikke er åbnet.

For at kopiere et par på hinanden følgende linjer (lad os f.eks. Sige 4 ) i en midlertidig buffer med navnet a (ikke tilknyttet en fil) og placere disse linjer i en anden del af filen senere i den aktuelle vi sektion, skal vi ...

1. Tryk på tasten ESC for at være sikker på, at vi er i vi Kommandotilstand.

2. Placer markøren på den første linje i teksten, vi ønsker at kopiere.

3. Skriv “ a4yy ” for at kopiere den aktuelle linje sammen med de 3 efterfølgende linjer i en buffer med navnet a. Vi kan fortsætte med at redigere vores fil - vi behøver ikke at indsætte de kopierede linjer med det samme.

4. Når vi når placeringen for de kopierede linjer, skal du bruge “ a før kommandoerne p eller P for at indsætte de kopierede linjer i bufferen navngivet a :

  1. Skriv “ ap for at indsætte de linjer, der er kopieret i buffer a efter den aktuelle linje, som markøren hviler på.
  2. Skriv “ aP for at indsætte de linjer, der er kopieret i buffer a før den aktuelle linje.

Hvis vi ønsker det, kan vi gentage ovenstående trin for at indsætte indholdet af buffer a flere steder i vores fil. En midlertidig buffer, som den i dette afsnit, bortskaffes, når det aktuelle vindue lukkes.

Resumé

Som vi har set, er vi / m en stærk og alsidig teksteditor til CLI. Del gerne dine egne tricks og kommentarer nedenfor.

  1. Om LFCS
  2. Hvorfor få en Linux Foundation-certificering?
  3. Tilmeld dig LFCS-eksamen

Opdatering: Hvis du vil udvide dine VI-editor færdigheder, vil jeg foreslå, at du læser følgende to guider, der vil guide dig til nogle nyttige VI editor tricks og tip.