Word een Vi-meester door deze 30+ sneltoetsen te leren
Vi is een krachtige teksteditor op de meeste Linux-systemen. Veel mensen zweren bij vi en vinden het sneller dan elke andere editor als ze eenmaal de belangrijkste bindingen hebben geleerd. Je kunt zelfs vi-toetsbindingen gebruiken in Bash.
We zijn al begonnen met het beginnen met vi voor beginners. Als je al een tijdje geen vi hebt gebruikt, wil je misschien die post eens bekijken om een opfriscursus te krijgen over de basis.
Modus schakelen
Als een korte samenvatting is vi een modale editor - er is een invoegmodus en een standaard opdrachtmodus. In invoegmodus werkt vi vergelijkbaar met een normale teksteditor. In de commandomodus profiteert u van deze sneltoetsen.
- ik - Ga naar invoegmodus.
- Ontsnappen - Verlaat de invoegmodus. Als je al in de commandomodus bent, doet Escape niets, dus je kunt op Escape drukken om ervoor te zorgen dat je in de commandomodus bent.
De cursor verplaatsen
Vi gebruikt de hjkl om de cursor in de commandomodus te verplaatsen. Vroege computersystemen hadden niet altijd een pijltjestoets, dus deze toetsen werden in plaats daarvan gebruikt. Een voordeel van deze sneltoetsen is dat u uw vingers niet uit de eigen rij hoeft te halen om ze te gebruiken.
- h - Verplaats de cursor naar links.
- j - Verplaats de cursor naar beneden.
- k - Verplaats de cursor omhoog.
- l - Verplaats de cursor naar rechts.
U kunt ook zoekopdrachten gebruiken om de cursor snel te verplaatsen.
- / - Typ a / gevolgd door wat tekst die u wilt vinden en druk op Enter om uw cursor snel naar de locatie van de tekst in het bestand te verplaatsen. Als u bijvoorbeeld het woord leguaan in uw bestand hebt, typt u / leguaan en drukt u op Enter om de cursor daar snel te verplaatsen.
- ? - Vind ik leuk /, maar zoekt u achteruit.
- f - Typ een f gevolgd door een willekeurig teken om de cursor snel naar het volgende exemplaar van het teken op de huidige regel te verplaatsen. Als u bijvoorbeeld de regel "Hallo wereld" op een regel hebt staan en uw cursor aan het begin van de regel staat, typt u fo om naar de o in Hello te gaan. Type fo opnieuw om naar de o in de wereld te gaan.
- F - Zoals f, maar zoekt achteruit.
- % - Spring tussen de dichtstbijzijnde (), [] of tekens op de regel.
Gebruik deze opdrachten om snel naar locaties in het bestand te gaan:
- H - Verplaats de cursor naar de hoogste (bovenste) regel in het bestand.
- M - Verplaats de cursor naar de middelste lijn in het bestand.
- L - Verplaats de cursor naar de laagste (onderste) regel in het bestand.
- #G - Typ een nummer en typ vervolgens G om naar die regel in het bestand te gaan. Typ bijvoorbeeld 4G en druk op Enter om naar de vierde regel in het bestand te gaan.
Verschuiven tussen woorden:
- w - Ga een woord vooruit.
- #W - Ga een aantal woorden vooruit. 2w gaat bijvoorbeeld twee woorden vooruit.
- b - Ga een woord terug.
- #b - Ga een aantal woorden terug. 3b verplaatst bijvoorbeeld drie woorden terug.
- e - Ga naar het einde van het huidige woord.
Kopiëren en plakken
Vi verwijst naar de handeling van kopiëren als "rukken".
- v - Druk op v en verplaats de cursor om een tekstgedeelte te selecteren.
- Y - Kopieer (yank) de geselecteerde tekst.
- p - Plakken op de cursor.
- X - Knipt de geselecteerde tekst. Snijdt het teken onder de cursor als er geen tekst is geselecteerd
- r - Typ r en typ vervolgens een ander teken om het teken onder de cursor te vervangen.
Combineren van commando's
Sommige opdrachten - inclusief de bovenstaande y- en v-opdrachten en de opdracht d (verwijderen) accepteren cursorbewegingsopdrachten.
Bijvoorbeeld wanneer u op drukt d om tekst te verwijderen, gebeurt er niets totdat u een cursorbewegingscommando invoert. Bijvoorbeeld:
- dw - Wist het volgende woord.
- db - Wist het vorige woord
- de - Wist naar het einde van het huidige woord.
- dL - Wist alle tekst onder de cursor in het bestand.
- d / unicorn - Nadat u op Enter hebt gedrukt, verwijdert u alle tekst tussen de cursor en het woord "unicorn" in het huidige bestand.
- dd - Wist een volledige regel.
Zoals u kunt zien, is de combinatie van het combineren van een opdracht met een cursorbewegingsopdracht erg krachtig.
Herhaal en ongedaan maken
Het herhaalcommando van Vi is erg krachtig, omdat het complexe gecombineerde commando's kan herhalen.
- u - ongedaan maken.
- . - De . herhaalt de laatste volledige opdracht. Het invoeg-commando functioneert hier ook als een commando. Typ bijvoorbeeld iunicorn en druk op Escape. U kunt dan de. toets om het woord eenhoorn bij de cursor in te voegen.
Bonus: Vi-toetsbindingen gebruiken in Bash
Zodra je de vi-toetsbindingen onder de knie hebt, wil je ze misschien ergens anders op je systeem gebruiken. Geen probleem - u kunt de Bash-shell zo instellen dat hij toetsenborden in vi-stijl gebruikt.
Probeer dit uit in de huidige sessie door het volgende commando uit te voeren in een Bash-terminal:
set -o vi
Bash start in invoegmodus - druk op Escape om de commandomodus te openen en deze sneltoetsen te gebruiken.
Als je dit leuk vindt, kun je de opdracht toevoegen aan je ~ / .bashrc-bestand en het wordt automatisch uitgevoerd elke keer dat je inlogt. Gebruik de vi .bashrc commando om het bestand te openen en te bewerken in vi.
Dit is geen volledige lijst van sleutelbindingen voor vi, maar het zou je moeten helpen je vi-vleugels te buigen en te leren vliegen. Deze lijst met sneltoetsen op de website van Harvard is vollediger en bevat meer informatie, hoewel het allemaal minder georganiseerd en moeilijker te verteren is..