VI introductie
De unix editor vi behoort tot de meest omstreden software tools van
unix/linux. Sommige gebruikers willen niets anders en gebruiken vi-clonen
ook onder windows en op de macintosh. Anderen worden er compleet gestoord van.
Als je vi beheerst kun je heel wat op tekstinvoergebied presteren.
De drempel is wel wat hoger dan van bijvoorbeeld pico (een eenvoudige
teksteditor), maar daar krijg je ook wel wat voor terug (vind ik).
Bijvoorbeeld globale substituties met behulp van reguliere expressies om
maar eens wat te noemen. Okay, genoeg gepraat. Nu een korte introductie.
voor je begint
Vi kent twee werktoestanden (modes):
- Input mode (alle ingetikte tekens worden in de tekst gezet)
- Command mode (tekens van het toetsenbord worden als commando's opgevat)
Vi is op te starten vanaf de shell-prompt (command line interface) met het
commando
vi filenaam
Hierin is filenaam de naam van de te editen file (kan dus van alles zijn).
De meeste Linux systemen gebruiken een verbeterde versie van vi die ook
wel vim (vi-improved) wordt genoemd. Maar bij deze systemen wordt automatisch
vim gestart als vi wordt aangeroepen.
Hoe verder?
Na opstarten komt vi in de command mode. De volgende eenletterige
commando's brengen vi in de input mode.
- a append (voeg tekst toe achter de cursorpositie)
- i insert (voeg tekst toe voor de cursosposite)
- A Append als a maar nu aan het eind van de regel
- I als i maar aan het begin van de regel
- o open een regel beneden de cursor voor invoer
- O Open een regel boven de cursosr voor invoer
Met ESC (escape) kom je weer van input naar command mode.
Enkele commando's in command mode
Cursor besturing
- h cursor een positie naar links (alternatief backspace)
- j cursor een positie naar rechts (kan ook met spatiebalk)
- k cursor naar vorige regel, dus een positie naar boven
- l cursos naar volgende regel, dus een positie naar beneden
- Ctrl F (F in combinatie met de control-toets) een scherm
verder (25 regels tekst verder)
- Ctrl B een scherm terug (25 regels tekst terug)
- ^ cursor naar begin van de regel
- $ cursor naar eind van de regel
Vaak zijn ook 'gewoon' de pijltjestoetsen en PageUp en PageDown
te gebruiken.
Edit commando's
- x delete character onder de cursor
- cw change word (verander vanaf de cursorpositie tot het eind van een woord, sluit af met ESC)
- dd delete line
- dw delete word
- D delete vanaf cursor tot eind van de regel
Algemeen
- ZZ schrijf de file weg en verlaat vi
- :w write (schrijf file weg, maar blijf in vi)
- :q quit (verlaat vi)
- :q! verlaat vi zonder te mopperen over niet weggeschreven files.
- /string zoek string in de tekst. Wil je verder zoeken op dezelfde string, dan hoef je alleen de slash in te tikken.
- % zoek het corresponderende haakje, handig bij Java, C en andere talen.
Dit is een klein overzicht van commando's, maar hiermee kun je jezelf redden.
Al doende leer je er steeds meer bij (wel wat rondzoeken natuurlijk).
Zo kun je in command mode de al eerder genoemde globale substituties op basis van reguliere expressies uitvoeren, maar ook
eenvoudigere zaken als het inlezen van een bestand of het wegschrijven van een
deel van het bestand naar een nieuw bestand.
Naast vi is emacs ook een power editor. Wil je eenvoud zonder poespas gebruik
dan pico, xedit of een van de vele andere gratis editors.
Leo van Moergestel
Aangemaakt 28 augustus 2000
Laatst bijgewerkt januari 2016