Appendix 13. Editorer

A 13.0 Inledning

För att skriva ett datorprogram användes en editor och inte en ordbehandlare. Skillnaden är att en ordbehandlare kan utnyttjas för att välja bland olika typsnitt, kursiv stil eller fet stil. En ordbehandlare måste därför lägga ut "en massa" kontrolltecken i filen. Dessa tecken förstås normalt ej av kompilatorn. En editor kan sägas vara en ordbehandlare som bara kan användas för att skriva skrivmaskinsstil, Courier. En del ordbehandlare innehåller export och import till och från rena ASCII-filer, och kan därför användas även för att skriva program.

A 13.1 Emacs

Inom olika datorsystem finns olika traditioner vad gäller editorer. Bland de skärmorienterade editorerna har Emacs en särställning inom universitetsvärlden. Den finns i flera varianter och för de flesta datorsystem. En förenklad variant på VAX/VMS heter AMIS och för MS-DOS finns bland annat Epsilon och Micro-Emacs.

För att starta EMACS bör man helst utnyttja ett befintligt emacs-fönster, eller skapa ett nytt genom att skriva emacs eller eventuellt xemacs.

Användbara kommandon

        Kontroll-f      ett steg fram (höger)
        Kontroll-b      ett steg bak (vänster)
        Kontroll-p      ett steg upp
        Kontroll-n      ett steg ner 
Dessutom fungerar pil-tangenterna för ovanstående flyttningar. Ibland (oftast på den egna maskinen) fungerar även förflyttning av aktuell position genom att klicka på musen, men om man kör via nätverk fungerar detta ej alltid.
        Kontroll-v      nästa sida
        'Esc' v         föregående sida
        Kontroll-a      gå till början av raden
        Kontroll-e      gå till slutet av raden
        'Esc' <         gå till början av filen
        'Esc' >         gå till slutet av filen
        Kontroll-d      ta bort tecknet
        Kontroll-k      ta bort resten av raden
        Kontroll-y      få tillbaka det med Kontroll-k senast borttagna 
        Kontroll-s      sökning framåt
        Kontroll-r      sökning bakåt
        Kontroll-x Kontroll-f         byt till en fil med det givna namnet
        Kontroll-x Kontroll-s         spara filen under det gamla namnet
        Kontroll-x Kontroll-w         spara filen under ett nytt namn
        Kontroll-x Kontroll-c         gå ur EMACS 
                                      (användes normalt ej vid X-Windows)
        Kontroll-g      piper och återställer felaktiga kommandon 
                        (ibland behövs 2 st Kontroll-g). 
                        Användes då man gjort något dumt!
Anm. 1. 'Esc' (Escape) är en tangent som skall tryckas nedtryckt före nästa tecken, Kontroll- är tangenten märkt CTRL eller Control, denna skall hållas nedtryckt under det att nästa tecken skrives.

Anm. 2. Emacs fungerar mindre bra i samband med telnet och viss kommunikationsutrustning från Digital Equipment. Ett problem är att Digital tolkar Kontroll-s som ett stopptecken, vilket kan upphävas med ett Kontroll-q. För att spara en fil måste man då alltid ge Kontroll-x Kontroll-w och filnamnet. För sökning gäller att man måste gå till slutet av filen med 'Esc' > och söka baklänges med Kontroll-r. Ibland fungerar inte ens Kontroll-x, och då är det dags att använda en annan editor.

Anm. 3. Vid kompilering erhålles ibland felutskrifter som talar om att ett fel inträffat på en viss rad. Man kan med Emacs gå direkt till denna rad med kommandot 'Esc' X goto-line, där man sedan ger aktuellt radnummer efter en vagnretur. Ett enklare kort-kommando för samma sak är 'Esc' G.

A 13.2 MS-DOS EDIT

Detta är en enkel skärmorienterad editor som följer med MS-DOS. Jag tycker den är ganska bra, men tyvärr är nybörjardokumentationen mycket bristfällig. Man startar den, om man vill editera eller skapa en fil program.f90, med kommandot
        C:\> edit program.f90 
Man kommer ut utan att spara med ALT A A, och man kommer ut med sparad fil med ALT A S, dvs man trycker först på tangenten märkt ALT och sedan två gånger på A respektive en gång på A och en gång på S. MS-DOS EDIT har ganska bra möjlighet att byta ut en teckensekvens mot en annan.

När man startar programmet kommer en menyrad upp överst med följande alternativ

        Arkiv       Redigera      Sök       alternatiV
Man kommer till respektive alternativ genom att trycka på ALT följt av respektive markerad bokstav (dvs V för alternatiV). Under Arkiv kan man öppna, spara, skriva ut samt avsluta, medan man under Redigera kan klippa, klistra samt radera. Under Sök kan man söka och ändra, samt slutligen under alternatiV så kan man ändra bildskärmsinställning samt få hjälp. Som vanligt är det en fördel om man har musen installerad även under MS-DOS, då kan man klicka på önskat alternativ.

Man skriver in texten direkt i textfältet under menyraden. En hjälprad finns längst ned.

A 13.3 UNIX ex

Den primitiva radorienterade editorn "ex" kräver ingen avancerad kommunikation, och den använder följande enkla kommandon.
a       lägga in nya rader första gången i en ny fil
        (avslutas med ensam punkt . först på sista raden)
i       lägga in nya rader 
        (avslutas med ensam punkt . först på sista raden)
d       ta bort en rad
w       skriva filen
q       lämna editorn
Med nummer förflyttar man sig till önskad rad, som då ekas.

A 13.4 UNIX vi

Detta är en påbyggnad på "ex" som kräver rätt terminaltyp, och den använder följande enkla kommandon. Dessutom fungerar piltangenterna för förflyttning av aktuell position. När man kommer in är man i kommando-mod.
ESCAPE      Växla till kommando-mod
a           Växla till text-mod för inläggning av ny text 
            direkt efter aktuell position
i           Växla till text-mod för inläggning av ny text 
            direkt i aktuell position
dd          Ta bort en rad (både åt vänster och åt 
            höger, dvs hela raden vid aktuell position)
x           Ta bort ett tecken
:wq<CR>     Skriva filen och lämna editorn
:q!<CR>     Lämna editorn utan att spara eventuella ändringar
Notera att när man ger ESCAPE flyttar sig oftast markören en position! Beteckningen <CR> ovan anger att man måste ge Vagnretur eller ENTER här.

Laborationer Innehåll Datormiljöer


Senast modifierad: 3 maj 1999
boein@nsc.liu.se