Anonim

vi er en velkendt skærmorienteret teksteditor, der går tilbage til de tidlige dage af Unix. Den mest imponerende funktion er, at den kan fungere i to forskellige tilstande.

I indsættilstand bliver teksten en del af filen. I normal tilstand forstås tastetryk som direkte kommandoer. Derfor bruges forskellige tastaturkommandoer til at reducere det nødvendige arbejde til at redigere en fil.

Men hvis kommandoerne er så forskellige, er det virkelig lettere at fjerne linjer eller redigere dem ved hjælp af tastetrykskommandoer? - Lad os finde ud af det.

Skæring af en linje eller blok

hurtige links

  • Skæring af en linje eller blok
        • Placer din markør foran den tekstlinje, du vil fjerne
        • Tryk på v og start et markvis visuelt valg
        • Tryk på V, hvis du vil vælge hele linjer
        • Tryk på Ctrl + v eller Ctrl + q, hvis du vil vælge en blok
        • Placer markøren i slutningen af ​​tekstlinjen
        • Tryk på d for at klippe
  • Redigering over en linje
  • Sletning af flere linjer
  • Brug af tegn, ord og linjer i normal tilstand
    • dd
    • x / X
    • dw
  • En sidste tanke
  1. Placer din markør foran den tekstlinje, du vil fjerne

  2. Tryk på v og start et markvis visuelt valg

  3. Tryk på V, hvis du vil vælge hele linjer

  4. Tryk på Ctrl + v eller Ctrl + q, hvis du vil vælge en blok

  5. Placer markøren i slutningen af ​​tekstlinjen

  6. Tryk på d for at klippe

Hvis du nu vil indsætte den linje andetsteds, skal du blot flytte markøren til den nye placering og trykke på p. Bemærk, at ved at trykke på p indsættes linjen eller blokken efter markørens position. Hvis du vil indsætte inden markørens position, skal du trykke på P.

Redigering over en linje

Du kan også ændre den valgte tekst, hvis du trykker på c i trin 6. Ved at trykke på d vil du klippe, trykke på y vil yank eller kopiere, og c åbner indsættelsestilstand, hvor du kan tilføje ny tekst. Dette kan hjælpe dig med at udskifte en hel linje eller blok uden at skulle bryde dig med at skære dem først.

Sletning af flere linjer

Der er to gode muligheder, hvis du vil slette mere end en linje i vi.

“:%d”

Denne kommando sletter alle linjer. ':' Sætter vi i kommandotilstand. Tegnet '%' fortæller det at anvende 'd' (sletekommando) på alle linjer.

“:1, $d”

Dette er det mere populære alternativ. Igen introducerer ':' en kommando. '1, $' fortæller vi hvilke linjer der skal målrettes. I dette eksempel ville det være linjerne, der begynder med linje 1 og den sidste. 'd' står for sletning.

Men hvad gør denne kommando bedre end den første? - Denne er tilpasningsdygtig. Du kan bruge det til at slette linjer i bulk, men uden at skulle slette alle dem.

Hvis du bruger noget som “:4, $-2d”, sletter vi alle linjerne mellem den tredje og den anden til sidst. Den efterlader de første tre intakte, fordi linjerne starter med 1 og ikke 0. Og du specificerer den første linje, du vil slette, som i dette eksempel er 4.

'-2' repræsenterer dybest set, hvor mange linjer der starter fra den sidste og tæller tilbage til 1.

Brug af tegn, ord og linjer i normal tilstand

Først skal du sikre dig, at du rammer Escape for at gå ind i normal tilstand. Derefter kan du bruge følgende vi-kommandoer til at slette specifikke oplysninger.

dd

Denne kommando sletter en hel linje. Du kan placere markøren hvor som helst på linjen, hvad enten det er på et ord eller et tomt rum. Linjen og al den plads, den besatte, vil blive slettet.

x / X

Hvis du vil fjerne kun et tegn fra en linje, kan du bruge x. Placer markøren efter et tegn, og tryk på x. Dette fjerner tegnet og også det rum, det besatte. Dette betyder også, at alle de andre figurer tæt på det vil mødes for at udfylde hullet.

Du kan også bruge x til at slette en tom plads i en linje. Hvis du holder musepekeren over et tegn, og du vil fjerne det før det, skal du trykke på X i stedet for x.

dw

Hvis du trykker på dw, når din markør er placeret i begyndelsen af ​​et ord, slettes det ord. Dette fjerner også det rum, der er besat af ordet. Alternativt kan du fjerne bare dele af et ord.

Placer din markør til venstre for den del, du vil slette. Tryk på dw for at fjerne disse tegn og det plads, de besatte i linjen. Husk, at det gør de tilstødende tegn sammen for at udfylde hulet.

En sidste tanke

Så interessant og unik som vi er som en modal editor, det tager et stykke tid at vænne sig til det. Der er meget lidt feedback, når det drejer sig om at skifte mellem tilstande. Dette gør det meget nemt ved et uheld at indtaste kodetekst, når du skal give en kommando, og vice versa.

Sådan slettes alle linjer i vi