Hoofdstuk 7. Leren werken met een editor

Inhoudsopgave

Over tekst editors
Waarom moet ik met een editor kunnen werken?
Welke editors zijn er?
Werken met Vim
Over vim
Twee modes
Basiscommando's in Vim
Praktisch
Linux in de kantooromgeving
Geschiedenis
Suites en programma's
Opmerkingen
Samenvatting

Samenvatting

Het derde deel van de cursus gaat in detail in op de vraag hoe je je eigen werkomgeving kan aanpassen. Daarvoor moeten we bestanden editeren. Daarom beginnen we in dit hoofdstuk met het aanleren van de bekendste UNIX/Linux editor, vi. We zoeken een antwoord op volgende vragen:

  • Waarom moet ik met een tekst-editor kunnen werken?

  • Zijn er alternatieven voor vi?

  • Is er een gemakkelijke manier om vi te leren?

  • Ik wil gewoon een brief tikken, kan dat niet eenvoudiger?

Over tekst editors

Waarom moet ik met een editor kunnen werken?

Het is uiterst belangrijk om met op zijn minst met één tekst editor te kunnen werken. Tekstbestanden kunnen editeren op je systeem is de eerste stap naar onafhankelijkheid.

Voor het volgende hoofdstuk hebben we al een editor nodig, om configuratiebestanden aan te passen die onze werkomgeving beïnvloeden. Als geavanceerde gebruiker zal je ook scripts willen schrijven, websites ontwikkelen, systeembestanden editeren of programma's ontwikkelen. Hoewel daar allerlei gereedschappen voor bestaan, blijft een tekst editor de snelste manier van werken. Bijgevolg zal het beheersen van deze kunst een enorme vooruitgang betekenen op gebied van efficiëntie en produktiviteit.

In dit hoofdstuk ligt de nadruk op tekst editors. Zoals we reeds zagen, hebben we een editor nodig die geen additionele karakters toevoegt aan de tekst. Grafische editors zoals bijvoorbeeld tekstverwerkers zijn dus geen optie, want ze bevatten allerlei verborgen instructies voor het programma dat de tekst op je scherm toont. Systeembestanden en configuratiebestanden voor gebruikers kunnen die speciale karakters niet interpreteren. Daarom moeten we met een pure tekst editor kunnen werken.

Een bijkomend voordeel van een tekst editor is dat je zo heel snel bestanden op andere machines op het netwerk kan editeren. Je hoeft immers niet de gehele grafische omgeving over het netwerk door te sturen, maar enkel de tekst, die gecomprimeerd kan worden, zodat er nog minder data over het netwerk verstuurd moeten worden en je dus nog sneller kan werken.

Welke editors zijn er?

Nano

We zagen reeds oppervlakkig hoe nano werkt, in de paragraaf “Cron gebruiken”. Het is een eenvoudige editor, maar voor gevorderde gebruikers wordt het al snel te traag om op deze manier te werken. Bovendien is nano niet op elk Linux systeem geïnstalleerd, en nog veel minder op UNIX machines.

De nano editor is eenvoudig in gebruik omdat de mogelijke toetsencombinaties onderaan in het scherm getoond worden. Als je nooit meer wilt doen dan eens af en toe een crontab editeren, heb je aan nano eigenlijk wel genoeg. Als nano niet op je systeem staat, kan je het programma afhalen van http://www.nano-editor.org.

GNU Emacs

Deze editor is al voor iets serieuzere gebruikers. Je vindt hem op vele UNIX en Linux systemen, maar net zoals nano is hij niet standaard. Op onze Ubuntu bijvoorbeeld is deze editor niet beschikbaar, maar je kan hem wel afhalen van http://www.gnu.org/software/emacs/. De emacs editor is meer geavanceerd dan nano: je kan bijvoorbeeld meerdere bestanden tegelijk openen, de editor heeft een benul van woorden, paragrafen, pagina's en programmmeertalen - in programma's worden de lijnen zelfs automatisch geïndenteerd, zodat de code gemakkelijk leesbaar is. Voor de grafische omgeving is er ook xemacs, zodat je met menu's kan werken in plaats van met toetsencombinaties.

Hoewel deze editor niet standaard op ons systeem zit, vinden we hem toch het vermelden waard omdat er zoveel verschillende platformen zijn waarop hij draait. Vroeg of laat zal je de naam wel eens tegenkomen.

Vi(m)

Deze editor is een verbetering van de standaard UNIX vieditor. Vi(m) staat dan ook voor “Vi IMproved”.

Opdrachten in vim worden ingegeven via het toetsenbord, zodat je je ogen op het scherm gericht kan houden. Door de muis uit te schakelen, kan je sneller werken. Voor diegenen die er behoefte aan hebben, heeft vim echter ook een grafische interface met menu's. Deze versie wordt opgeroepen met het commando gvim, maar is niet standaard meegeleverd. We zullen in het derde hoofdstuk van dit lespakket bespreken hoe we het extra pakket vim-gnome, dat gvim aanlevert, kunnen installeren. In de grafische menu's van gvim zie je namelijk de toetsencombinaties voor elke editeeropdracht, wat het makkelijker maakt als je je even een bepaalde toetsencombinatie niet meer herinnert.

Doorheen de hele verdere cursus zullen we naar vim verwijzen, hoewel je vrij bent de editor te gebruiken die jou het beste ligt. We raden je echter ten stelligste aan om je toch op zijn minst een basiskennis van deze editor eigen te maken. In tegenstelling tot nano en emacs, vind je vim of vi, de oudere versie die standaard is op UNIX machines, letterlijk op elke Linux en UNIX machine. Om andere programma's te installeren op Linux of UNIX heb je speciale rechten nodig, die je bijvoorbeeld op het werk zelden of nooit zal verwerven, tenzij je systeembeheerder wordt. Als je vim kent, kan je overleven op eender welk systeem. Je kan het zelfs op je MS Windows machine installeren.

[Opmerking]Is het nu vim of vi?

Op de meeste Linux systemen is vi een symbolische link naar vim. Zo ook op Ubuntu: via /etc/alternatives/vi verwijst /usr/bin/vi naar /usr/bin/vim.

[Opmerking]Voorbeelden?

De broncode van de hele cursus werd met vim gemaakt.