Liten Datorhandbok För Målmedvetna

Academic Computer Club, Umeå Universitet, 2000


UNIX


vi

En av de vanliga editorerna på ett Unix system är vi. Denna populära editor är en av de första fullskärmseditorerna. Skapad på den tiden när det ansågs onödigt att behöva se mer än den rad man editerade. En av de stora fördelarna med vi är att den är så snabb att starta upp och att använda. Användargrässnittet kan för den oinvigde kännas något komplext, men när man kommer in i det är det mycket flexibelt och snabbt.

Det första man bör veta om en editor är hur man kommer ur den utan att ändra filen man editerar, i vi gör man detta genom att först trycka escape och sedan :q! så lämnar man vi utan att spara filen. Man startar vi genom att skriva "vi " så kommer vi igång och man kan börja editera filen.

Det som brukar göra vi krångligt för nybörjare är att den har två lägen insättningsläge och kommandoläge. I insätttningsläge skriver man in text där man står och i kommandoläge ger man editorn olika kommandon. För att ta sig från insättningsläge till kommandoläge använder man escape. Åt andra hållet finns det en massa olika sätt.

Man flyttar sig i vi antingen via piltangenter om dessa finns (och om allt är rätt installerat) eller genom hjkl i kommandoläget, h bakåt, j nedåt, k uppåt, och l framåt. För att ta sig till slutet av en rad använder man $ och till början genom 0. Genom :<nummer> hoppar man till det radnumret, :0 för första raden i filen. För att ta sig till slutet av filen använder man G.

När man tagit sig dit man skall skriva in text använder man i (insert) för att stoppa in text framför det tecken man står på och a (append) för att stoppa in efter det tecken man står på. Man kan även stoppa in text med I i början av den rad man står på, det kommer då före första icke blanka tecknet, och A för att lägga till sist. Med hjälp av o kan man börja skriva på en ny tom rad efter den rad man nu står på, O gör samma sak fast tvärt om, en ny rad före den rad man står på.

Kommandot . är något av de viktigaste i vi, det upprepar föregående kommando, och eftersom alla inskrivningar av text är ett kommando så kan man snabbt och enkelt skriva in samma text flera gånger. För att ta bort inskriven text kan man använda x som tar bort ett tecken, dw (delete word) som tar bort ett ord eller dd (delete delete) som tar bort en rad, m.h.a en siffa före kan man upprepa dessa kommandon så man tar bort flera rader/ord/tecken, t.ex. 7dd tar bort sju rader efter där man står, eller om man vill byta plats på två bokstäver (ganska vanligt) är det bara xp så är det gjort. För att sätta tillbaka något man tagit bort använder man p (paste) som stoppar in det efter där man står eller P som stoppar in det före. Man kan även kopiera in saker i kopieringsbufferten genom yy det funger som dd förutom att man inte tar bort orginalraderna.

Man kan även ändra ett ord genom cw (change word) eller till slutet på raden genom c$, kom ihåg escape för att ta sig tillbaka till kommandoläge när man är klar.

För att leta efter ett ord i en text använder man / och skriver sedan in vad man vill hitta för något, om man vill hitta nästa förekomst av ordet använder man n (next). För att byta ut alla förekomster av ett ord till något annat använder man sig av programmet sed. Det går till så att man skriver :%s/<gamaltord>/<nyttord>/g.

För att spara det man skrivit finns det ett antal olika varianter, man kan dels bara spara filen genom :w eller så kan man spara och avsluta genom ZZ. Vill man spara filen med ett annat namn gör man detta genom :w <filnamn> nästa :w, eller ZZ, sparar den med det gamla namnet.

Författat av Anders Arnholm


Bakåt , Framåt , Upp, Huvudsida
Denna sida ändrades sist av handbok den 21/08 1996 15:19:34.
Last modified [an error occurred while processing this directive]