Het doel van deze tutorial is je op weg te helpen met het gebruik van de vi editor. Voor het kunnen volgen van deze tutorial wordt geen ervaring met vi verondersteld, dus we beginnen met de tien basisopdrachten. Deze fundamentele opdrachten volstaan voor het meeste werk dat nodig is bij het gebruik van een editor, en je kunt naar behoefte je kennis van vi uitbreiden. Het is aan te bevelen dat je tijdens het doornemen van deze tutorial de beschikking hebt over een machine waarop je kunt oefenen.
Voor het aanroepen van vi, typ je simpelweg de letters vi gevolgd door de naam van het bestand dat je aan wilt maken. Je krijgt een scherm met aan de linkerkant een kolom tildes ~ te zien. vi staat nu in de opdrachtmodus. Alles wat je nu intikt, zal worden geïnterpreteerd als een opdracht, niet als in te voeren tekst. Om tekst in te kunnen voeren, moet je een opdracht intikken. De twee basisinvoeropdrachten zijn:
i voeg links van de cursor tekst in
a voeg rechts van de cursor tekst toe
|
Aangezien je je aan het begin van een leeg bestand bevindt, doet het er niet toe welk van deze twee opdrachten je geeft. Typ er hier één van en voer dan de volgende tekst in (een gedicht van Augustus DeMorgan aangetroffen in The Unix Programming Environment van B.W. Kernighan en R. Pike):
Great fleas have little fleas<Enter>
upon their backs to bite 'em,<Enter>
And little fleas have lesser fleas<Enter>
and so ad infinitum.<Enter>
And the great fleas themselves, in turn,<Enter>
have greater fleas to go on;<Enter>
While these again have greater still,<Enter>
and greater still, and so on.<Enter>
<Esc>
|
Je drukt de Esc toets in om het invoegen te beëindigen en terug te keren naar de opdrachtmodus.
h verplaats de cursor een positie naar links
j verplaats de cursor een regel naar beneden
k verplaats de cursor een regel naar boven
l verplaats de cursor een positie naar rechts
|
Deze opdrachten kunnen worden herhaald door de toets ingedrukt te houden. Probeer nu door je tekst te manoeuvreren. Probeer je een onmogelijke verplaatsing, zoals b.v., het indrukken van de letter k wanneer de cursor zich op de bovenste regel bevindt, dan zal het scherm flitsen, of de terminal een pieptoon laten horen. Maak je geen zorgen, het kan geen kwaad, en het beschadigt je bestand niet.
x verwijder de tekst onder de cursor
dd verwijder een regel
|
Verplaats de cursor naar de tweede regel en positioneer het zo dat deze onder de apostrophe in 'em komt te staan. Druk op de letter x en de ' verdwijnt. Druk nu op de letter i om de invoegmodus te activeren en typ de letters th. Druk op Esc wanneer je klaar bent.
:w opslaan (naar disk schrijven)
:q exit
|
Zorg dat je je in de opdrachtmodus bevindt door het indrukken van de Esc-toets. Typ nu :w. Hiermee zal je werk worden opgeslagen door het naar een diskbestand weg te schrijven.
De opdracht voor het beëindigen van vi is q. Als je het opslaan en beëindigen wilt combineren, typ je gewoon :wq. Er bestaat tevens een handig synoniem voor :wq, namelijk ZZ. Aangezien veel van je programmeerwerk zal bestaan uit het uitvoeren van een programma, het aantreffen van een probleem, het programma aanroepen in een editor om een kleine wijziging aan te brengen en de editor te beëindigen om het programma nogmaals uit te voeren, zul je de opdracht ZZ weten te waarderen (In werkelijkheid is ZZ geen exact synoniem voor :wq. Als je geen wijzigingen in het bestand hebt aangebracht dat je sinds de laatste keer opslaan hebt bewerkt, dan zal ZZ de editor gewoon verlaten, terwijl je met :wq het werk (overbodig) zal opslaan voordat je de editor verlaat.)
Als je het hopeloos hebt verknald en helemaal overnieuw wilt beginnen, dan kun je :q! intikken (denk eraan eerst de Esc toets in te drukken). Als je de ! achterwege laat, zal vi niet toelaten dat je de editor verlaat zonder het werk op te slaan.
De tien opdrachten die je zojuist hebt geleerd zouden voldoende moeten zijn voor je werk. Je hebt echter slechts met een klein deel van de vi-editor kennisgemaakt. Er zijn opdrachten om materiaal van de ene naar de andere lokatie in een bestand te kopiëren, om materiaal te verplaatsen van het ene naar het andere bestand, om de editor meer af te stemmen op je persoonlijke smaak, enz. In totaal zijn er ongeveer 150 opdrachten.