Anonim

vi is een bekende schermgeoriënteerde teksteditor die teruggaat tot de begintijd van Unix. Het meest indrukwekkende kenmerk is dat het in twee verschillende modi kan werken.

In de invoegmodus wordt de tekst onderdeel van het bestand. In de normale modus worden toetsaanslagen opgevat als directe opdrachten. Daarom worden verschillende toetsenbordopdrachten gebruikt om de hoeveelheid werk te verminderen die nodig is om een ​​bestand te bewerken.

Maar als de opdrachten zo verschillend zijn, is het dan echt eenvoudiger om lijnen te verwijderen of te bewerken met de toetsaanslagen? - Laten wij het uitzoeken.

Een lijn of blok snijden

Snelle links

  • Een lijn of blok snijden
        • Plaats uw cursor voor de tekstregel die u wilt verwijderen
        • Druk op v en begin met een visuele selectie van tekens
        • Druk op V als u hele lijnen wilt selecteren
        • Druk op Ctrl + v of Ctrl + q als u een blok wilt selecteren
        • Plaats de cursor aan het einde van de tekstregel
        • Druk op d om te knippen
  • Over een regel bewerken
  • Meerdere lijnen verwijderen
  • Tekens, woorden en lijnen gebruiken in de normale modus
    • dd
    • x / X
    • dw
  • Een laatste gedachte
  1. Plaats uw cursor voor de tekstregel die u wilt verwijderen

  2. Druk op v en begin met een visuele selectie van tekens

  3. Druk op V als u hele lijnen wilt selecteren

  4. Druk op Ctrl + v of Ctrl + q als u een blok wilt selecteren

  5. Plaats de cursor aan het einde van de tekstregel

  6. Druk op d om te knippen

Als u die regel nu ergens anders wilt plakken, verplaatst u de cursor naar de nieuwe locatie en drukt u op p. Merk op dat als u op p drukt, de lijn of het blok achter de cursorpositie wordt geplakt. Als u voor de cursorpositie wilt plakken, moet u op P drukken.

Over een regel bewerken

U kunt de geselecteerde tekst ook wijzigen als u in stap 6 op c drukt. Druk op d om te knippen, druk op y om te rukken of te kopiëren en c opent de invoegmodus waarin u nieuwe tekst kunt toevoegen. Dit kan u helpen om een ​​hele lijn of blok te vervangen zonder dat u ze eerst hoeft te knippen.

Meerdere lijnen verwijderen

Er zijn twee goede opties als u meer dan één regel in vi wilt verwijderen.

“:%d”

Met deze opdracht worden alle regels verwijderd. De ':' plaatst vi in ​​de opdrachtmodus. Het '%' teken geeft aan dat het de 'd' (verwijdercommando) moet toepassen op alle regels.

“:1, $d”

Dit is het meer populaire alternatief. Nogmaals, de ':' introduceert een opdracht. '1, $' vertelt vi welke lijnen moeten worden getarget. In dit voorbeeld zijn dit de regels die beginnen met regel 1 en de laatste. 'd' staat voor verwijderen.

Maar wat maakt dit commando beter dan het eerste? - Deze is aanpasbaar. U kunt het gebruiken om lijnen in bulk te verwijderen, maar zonder ze allemaal te hoeven verwijderen.

Als u zoiets als “:4, $-2d”, verwijdert vi alle regels tussen de derde en voorlaatste. Het laat de eerste drie intact omdat de regels beginnen met 1 en niet 0. En u geeft de eerste regel op die u wilt verwijderen, die in dit voorbeeld 4 is.

De '-2' geeft in principe aan hoeveel regels vanaf de laatste beginnen en tot 1 tellen.

Tekens, woorden en lijnen gebruiken in de normale modus

Eerst moet je ervoor zorgen dat je op Escape drukt om de normale modus te openen. Daarna kunt u de volgende vi-opdrachten gebruiken om specifieke informatie te verwijderen.

dd

Met deze opdracht wordt een hele regel verwijderd. U kunt de cursor overal op de regel plaatsen, of het nu om een ​​woord of een lege spatie gaat. De lijn en alle ruimte die het heeft ingenomen, worden gewist.

x / X

Als u slechts één teken van een regel wilt verwijderen, kunt u x gebruiken. Plaats de cursor achter een teken en druk op x. Dit verwijdert het karakter en ook de ruimte die het in beslag nam. Dit betekent ook dat alle andere personages in de buurt bij elkaar komen om het gat op te vullen.

U kunt ook x gebruiken om een ​​lege ruimte in een regel te verwijderen. Als je met je muis over een personage gaat en het personage ervoor wilt verwijderen, druk je op X in plaats van x.

dw

Als u op dw drukt wanneer uw cursor aan het begin van een woord staat, wordt dat woord verwijderd. Hiermee wordt ook de ruimte verwijderd die door het woord wordt ingenomen. U kunt ook alleen delen van een woord verwijderen.

Plaats uw cursor aan de linkerkant van het gedeelte dat u wilt verwijderen. Druk op dw om die tekens en de spatie die ze in de regel innamen te verwijderen. Houd er rekening mee dat als u dit doet, de aangrenzende tekens bij elkaar worden gebracht om het gat te vullen.

Een laatste gedachte

Hoe interessant en uniek Vi ook is als een modale editor, het duurt even voordat je eraan gewend bent. Er is heel weinig feedback over het schakelen tussen modi. Dit maakt het heel eenvoudig om per ongeluk codetekst in te voeren wanneer u een opdracht moet geven en vice versa.

Hoe alle regels in vi te verwijderen