Mercurial > emacs
changeset 43047:94af2c31f342
*** empty log message ***
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 01 Feb 2002 17:59:36 +0000 |
parents | a7fdf9fae407 |
children | ebb4fa093863 |
files | etc/TUTORIAL.se |
diffstat | 1 files changed, 1075 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/TUTORIAL.se Fri Feb 01 17:59:36 2002 +0000 @@ -0,0 +1,1075 @@ +Detta dokument är baserat på den engelska handledningen, som har +Copyright (c) 1985, 1996 Free Software Foundation, Inc. Se slutet av +dokumentet för villkor och förutsättningar. + +Detta är den Svenska användarhandledningen till Emacs. + +Emacs-kommandon innebär ofta användning av kontrolltangenten (oftast +märkt CTRL eller CTL) eller META-tangenten (på vissa tangentbord märkt +ALT eller EDIT). Istället för att skriva META eller CONTROL kommer vi +här att använda följande förkortningar: + + C-<chr> betyder att du skall hålla ner kontrolltangenten samtidigt + som du skriver bokstaven <chr>. Alltså betyder C-f: håll ner + kontrolltangenten och tryck f. + M-<chr> betyder att du skall hålla ned META-, EDIT- eller + ALT-tangenten samtidigt som du skriver <chr>. Om du inte har + någon META-, EDIT- eller ALT-tangent kan du trycka <ESC>, + släppa tangenten och sedan trycka bokstaven <chr>. När vi + skriver <ESC> avser vi ESC-tangenten. + +Viktigt: För att avsluta Emacs trycker du C-x C-c (två tecken). +Tecknen ">>" i vänstermarginalen anger att du kan prova ett +kommando. Till exempel: +<<Tomma rader, av pedagogiska skäl. Texten fortsätter nedanför>> +>> Tryck C-v (View next screen) för att hoppa till nästa skärmbild. + Prova nu. Håll ned kontrolltangenten och tryck v. + Från och med nu bör du göra detta när du är färdig med en + skärmbild. + +Notera att det är ett överlapp på två rader när du byter från +skärmbild till skärmbild. Detta är för att behålla sammanhanget när du +bläddrar framåt i filen. + +Det första du behöver veta är hur du manövrerar från plats till plats +i texten. Du har redan lärt dig hur du flyttar en skärmbild framåt, +med C-v. För att flytta dig en skärmbild bakåt trycker du M-v. (Håll +ned META-tangenten och tryck v eller tryck <ESC>v om du inte har +META-, EDIT- eller ALT-tangent.) + +>> Prova att trycka M-v och C-v några gånger. + + +* SAMMANFATTNING +---------------- + +Följande kommandon är bra för att se hela skärmbilder: + + C-v Flytta en skärmbild framåt. + M-v Flytta en skärmbild bakåt. + C-l Rita om skärmen och placera texten där markören står + mitt på skärmbilden. (Det är kontroll-L, inte + kontroll-1.) + +>> Leta reda på markören och se vad som står där. Tryck sedan C-l. + Hitta markören igen och notera att det är samma text som står kring + markören nu. + + +* GRUNDLÄGGANDE MARKÖRRÖRELSER +------------------------------ + +Att flytta sig från skärmbild till skärmbild kan vara bra, men hur +förflyttar man sig till en speciell plats på skärmen? + +Det finns flera sätt att göra detta på. Det vanligaste är att använda +kommandona C-p, C-b, C-f och C-n. Vart och ett av dessa kommandon +flyttar markören en rad eller en kolumn i en bestämd riktning på +skärmen. Här visas dessa fyra kommandon och i vilken riktning de +flyttar markören: + + + Föregående rad, C-p + : + : + Bakåt, C-b .... Nuvarande markörposition .... Framåt, C-f + : + : + Nästa rad, C-n + +>> Flytta markören till linjen mitt i diagrammet genom att använda C-n + och C-p. Använd sedan C-l för att centrera diagrammet på + skärmbilden. + +Detta är säkert lite enklare att förstå om du tänker på dessa +förkortningar: P för föregående (previous), N för nästa (next), B för +bakåt (backward) och F för framåt (forward). Detta är de grundläggande +kommandona för att flytta markören och du kommer säkert att använda +dem hela tiden, så det är en stor fördel om du lär dig dem nu. + +>> Gör några C-n så att du kommer ned till den här raden. + +>> Flytta dig in i raden med hjälp av några C-f och sedan uppåt + med några C-p. Lägg märke till vad C-p gör när markören står mitt + på en rad. + +Textrader är åtskilda med radslutstecken. Den sista raden i filen +avslutas också vanligtvis med ett radslut men Emacs kräver inte att +den gör det. + +>> Prova med C-b i början av en rad. Detta gör att markören + flyttas till slutet av den tidigare raden. Detta är för att den + flyttar markören över radslutstecknet. + +C-f flyttar också över radslut, precis som C-b. + +>> Gör några fler C-b så att du får en känsla för var markören + är. Tryck sedan några C-f tills du kommer till slutet av + raden. Tryck ytterligare en C-f så att du flyttar markören till + nästa rad. + +När du flyttar markören förbi toppen eller botten av skärmbilden +kommer texten utanför skärmen att komma fram. Detta kallas "rullning" +och gör det möjligt för Emacs att flytta markören utan att den +försvinner ut ur skärmbilden. + +>> Prova att flytta markören förbi skärmbildens nederkant med hjälp av + C-n och se vad som händer. + +Om det går för sakta att flytta markören ett tecken i taget kan du +flytta den ett ord. M-f flyttar markören ett ord framåt och M-b +flyttar den ett ord bakåt. + +>> Prova några M-f och M-b. + +Om markören står mitt i ett ord kommer M-f att flytta markören till +slutet av ordet. Om du står mitt emellan två ord kommer M-f att flytta +markören till slutet av nästa ord. M-b fungerar på samma sätt men i +motsatt riktning. + +>> Tryck M-f och M-b några gånger och skifta markörposition med några + C-f och C-b så att du ser hur M-f och M-b uppför sig vid olika + placeringar av markören både i och mellan ord. + +Lägg märke till likheten mellan C-f och C-b å ena sidan och M-f och +M-b å den andra. Ofta används Meta-kommandon till språkrelaterade +operationer (ord, stycken, avsnitt), medan kontrollkommandon används +till grundläggande operationer som inte beror av vad man redigerar +(bokstäver, rader, etc.). + +Denna likhet finns också mellan rader och stycken: C-a och C-e flyttar +markören till början av en rad eller till slutet av en rad, medan M-a +och M-e flyttar den till början respektive slutet av ett stycke. + +>> Prova några C-a och sedan några C-e. + Prova också några M-a och sedan några M-e. + +Se hur efterföljande C-a efter varandra inte gör något, medan flera +M-a fortsätter att flytta markören till nästa stycke. Även om detta +inte verkar självklart är det ganska naturligt. + +Platsen där markören är i texten kallas också för "arbetspunkt" +(point). Eller omskrivet: Markören visar på skärmen var arbetspunkten +är i texten. + +Här är en kort sammanfattning av de enklaste markörförflyttnings- +kommandona, inklusive ord- och styckesförflyttningskommandon: + + C-f Flytta markören ett steg framåt + C-b Flytta markören ett steg bakåt + + M-f Flytta markören ett ord framåt + M-b Flytta markören ett ord bakåt + + C-n Flytta markören till nästa rad + C-p Flytta markören till föregående rad + + C-a Flytta markören till början av raden + C-e Flytta markören till slutet av raden + + M-a Flytta markören till början av meningen + M-e Flytta markören till slutet av meningen + +>> Prova alla dessa kommandon några gånger för tränings skull. + Dessa är de kommandon som används mest. + +Två andra viktiga markörrörelsekommandon är M-< (Meta mindre-än), som +flyttar markören till början av texten, och M-> (Meta större-än), som +flyttar den till slutet av texten. + +På en del tangentbord är "<" placerad över komma, så att man måste +använda skift för att få fram den. På dessa tangentbord måste man +också använda skift för att skriva M-<. Utan skifttangenten skulle det +bli M-komma. + +>> Prova M-< nu för att flytta markören till början av vägledningen. + Använd sedan C-v för att flytta markören tillbaka hit igen. + +>> Prova också M-> för att flytta markören till slutet av vägledningen. + Använd sedan M-v för att flytta markören tillbaka hit igen. + +Du kan också flytta markören med hjälp av piltangenterna, om +terminalen har piltangenter. Vi föreslår att du lär dig C-b, C-f, C-n +och C-p av tre skäl. För det första kommer de att fungera på alla +slags terminaler. För det andra kommer du att finna, när du har fått +lite träning i att använda Emacs, att det går mycket snabbare att +använda kontrollfunktionerna än piltangenterna (för att du undviker +att ändra fingersättningen). Den tredje anledningen är att när man har +lärt sig att använda kontrolltangenten blir det lättare att lära sig +de mer avancerade kontrollfunktionerna. + +De flesta kommandon i Emacs tar ett numeriskt argument och för de +flesta kommandon leder detta till att de repeteras. Ett numeriskt +argument anges genom att du skriver C-u och sedan talet, innan du +skriver kommandot. Om du har en META- (eller EDIT- eller ALT-) tangent +så finns det ett annat alternativ för att ge numeriska argument: skriv +talet medan du håller ned META-tangenten. Vi föreslår att du använder +C-u för det fungerar på alla slags terminaler. Det numeriska +argumentet kallas också för "prefixargument" eftersom det skrivs före +kommandot. + +Till exempel: C-u 8 C-f flyttar markören åtta steg framåt. + +>> Prova C-n eller C-p med ett numeriskt argument så att du + kommer så nära den här raden som möjligt med ett enda kommando. + +De flesta kommandon använder det numeriska argumentet för ett +repeterat utförande men det finns kommandon som använder det +annorlunda. Flera kommandon, men inga av dem du lärt dig hittills, +använder det som en flagga. Med ett prefixargument, och oberoende av +dess värde, gör kommandot något annat. + +C-v och M-v finns med bland dessa undantag. Om man ger ett argument +till ett av dessa kommandon kommer skärmbilden flytta sig upp eller +ned så många rader som argumentet anger, istället för så många +skärmbilder. Till exempel kommer C-u 8 C-v flytta skärmbilden 8 rader +uppåt. + +>> Prova C-u 8 C-v nu. + +Detta borde ha flyttat skärmbilden 8 rader uppåt. Om du önskar flytta +tillbaka igen är det bara att ge samma argument till M-v. + +Om du använder Emacs under X finns det troligen ett rektangulärt +område på högersidan av Emacs-fönstret, en så kallad +rullningslist. Denna kan du också använda för att förflytta dig i +texten. + +>> Prova att trycka med den mellersta musknappen i det utvalda området + på rullningslisten. Detta borde flytta skärmbilden till en plats i + texten beroende på var i rullningslisten du tryckte. + +>> Prova att flytta musen upp och ner medan du håller ner den + mellersta musknappen. Du ser att texten rullar upp och ner beroende + på hur du för musen. + + +* OM EMACS HÄNGER +----------------- + +Om Emacs slutar att reagera på kommandon kan du lugnt stoppa dem genom +att trycka C-g. Du kan också använda C-g för att stoppa ett kommando +som tar för lång tid att utföra. + +Det är också möjligt att använda C-g för att avbryta ett numeriskt +argument eller början på ett kommando som du inte önskar att utföra. + +>> Skriv C-u 100 för att ge ett numeriskt argument på 100 och tryck + C-g. Tryck nu C-f. Markören skall nu flytta sig bara ett steg, för att + du avbröt argumentet med C-g. + +Om du av misstag slår <ESC> blir du kvitt detta med ett C-g. + + +* SPÄRRADE KOMMANDON +-------------------- + +En del Emacs-kommandon är "spärrade" så att nybörjare inte skall +använda dem av misstag. + +Om du provar ett av dessa spärrade kommandon kommer Emacs ge ett +meddelande som berättar vilket kommando det är och kommer att fråga om +du verkligen vill fortsätta och utföra detta kommando. + +Om du verkligen önskar att utföra kommandot trycker du mellanslag som +svar på frågan. Normalt, om du inte önskar att utföra detta kommando, +svarar du "n" på frågan. + +>> Skriv C-x C-l (som är ett spärrat kommando). + Skriv n som svar på frågan. + + +* FÖNSTER +--------- + +Emacs kan ha flera fönster och varje fönster kan visa sin egen +text. Vi kommer förklara senare hur man använder flera fönster. Här +skall vi förklara hur man blir av med extra fönster för att komma +tillbaka till det grundläggande läget med endast ett fönster. Det är +enkelt: + + C-x 1 Ett fönster (dvs. ta bort alla andra fönster). + +Det är kontroll-x följt av siffran 1. C-x 1 utvidgar fönstret där +markören står så att det fyller hela skärmbilden. Alla andra fönster +tas bort. + +>> Flytta markören till den här raden och tryck C-u 0 C-l. +>> Tryck C-h k C-f. + Se hur det här fönstret krymper samtidigt som ett nytt uppträder + för att visa dokumentationen för C-f-kommandot. + +>> Slå C-x 1 och se hur dokumentationsfönstret nu försvinner. + +Kommandot skiljer sig lite från andra kommandon du har lärt dig +eftersom det består av två tecken. Det startar med tecknet +kontroll-x. Det är faktisk många kommandon som startar med kontroll-x +och många av dem har med filer, skärmbilder och liknande saker att +göra. Dessa kommandon är två, tre eller fyra tecken långa. + + +* SKRIVA OCH TA BORT TEXT +------------------------- + +Om du önskar att sätta in text är det bara att skriva in +texten. Tecken som du kan se, så som A, 7, *, etc. tolkas som text och +sätts in direkt. Skriv <Return> (retur-tangenten) för att sätta in en +radbrytning. + +Du kan radera det sista tecknet du skrev genom att trycka <Delete>. +<Delete> är en tangent på tangentbordet, som kan vara märkt "Del". I +några fall fungerar också "Backspace" som <Delete> men inte alltid! + +Generellt raderar <Delete> tecknet precis före den aktuella +markörspositionen. + +>> Gör detta nu: Skriv in några tecken och ta bort dem genom att + använda <Delete>. Var inte rädd för att skriva i den här filen, du + kommer inte att kunna förändra originalet till vägledningen. Detta + är bara en lokal kopia. + +När en rad blir för lång för att rymmas på en skärmbredd så fortsätter +den på raden under. En backslash ("\") i slutet av högra marginalen +indikerar att raden fortsätter. Om du kör Emacs under X kommer du se +en liten pil som pekar ned till nästa rad. + +>> Skriv in lite text så att du kommer till slutet av raden och + fortsätt att skriva lite till. Du kommer då att se hur + fortsättningstecknet ser ut. + +>> Använd <Delete> för att radera texten tills raden ryms på en + skärmbredd igen. Fortsättningstecknet kommer då att försvinna. + +Du kan radera radbrytning precis som andra tecken. Genom att radera +radbrytningen mellan två rader slås dessa samman till en. Om +resultatet av denna sammanslagning blir för stor för att passa inom en +skärmbredd, så kommer den att visas med ett fortsättningstecken. + +>> Flytta markören till början av en rad och tryck <Delete>. + Detta kommer att klistra ihop raden med raden över. + +>> Tryck <Return> för att sätta in radbrytningen du tog bort. + +Tänk på att de flesta Emacs-kommandon kan ta numeriska argument. Detta +gäller också texttecken. Genom att repetera ett texttecken kommer det +skrivas flera gånger. + +>> Prova det nu: Skriv C-u 8 * för att sätta in ********. + +Du har nu lärt dig de mest grundläggande sätten att skriva något i +Emacs och att rätta fel. Du kan radera ord och rader också. Här är en +översikt över kommandon för radering: + + <Delete> raderar tecknet som står precis före markören + C-d raderar tecknet som står precis under markören + + M-<Delete> raderar ordet precis före markören + M-d raderar ordet precis efter markören + + C-k raderar från markören till slutet av raden + M-k raderar till slutet av stycket + +Lägg märke till att <Delete> och C-d kontra M-<Delete> och M-d följer +mönstret som började med C-f och M-f. (<Delete> är inte precis +ett kontrolltecken men låt oss inte bry oss om det.) C-k och M-k +fungerar på samma sätt som C-e och M-e (nästan). + +Du kan också ta bort vilken del som helst av bufferten med hjälp av +följande allmänna metod. Flytta till ena änden av det område du vill +ta bort och tryck C-@ eller C-mellanslag. Flytta till andra änden av +området och tryck C-w. Detta tar bort all text mellan de två +positionerna. + +>> Flytta markören till bokstaven D i föregående stycke. +>> Tryck C-mellanslag. Emacs skall nu visa meddelandet "Mark set" + längst ner på skärmen. +>> Flytta markören till bokstaven o i ordet metod på andra raden i + stycket. +>> Tryck C-w. Detta tar bort texten från och med D fram till just före + o. + +När du raderar mer än ett tecken åt gången kommer Emacs att spara den +borttagna texten så att du han hämta tillbaka den igen. Denna text +kallas borttagen (killed). Att få tillbaka borttagen text kallas att +hämta den (yank). Du kan antingen hämta tillbaka borttagen text till +samma plats som där den blev borttagen eller så kan du sätta in den på +en annan plats i texten. Du kan också hämta tillbaka den flera gånger +så att du får flera lika förekomster av den. Kommandot för att hämta +tillbaka texten är C-y. + +Lägg märke till att skillnaden mellan borttagen och raderad (deleted) +text är att borttagen text kan hämtas tillbaka, medan raderad text +inte kan det. Generellt kan man säga att kommandon som tar bort fler +än ett tecken sparar undan texten så att den kan bli återställd och +kommandon som bara raderar ett tecken eller tomma rader och mellanrum +inte sparar någonting. + +>> Flytta markören till början av en rad som inte är tom. + Tryck C-k för att ta bort texten på raden. +>> Tryck C-k en gång till. Du kommer nu se att den raderar den tomma + raden som var kvar. + +Lägg märke till att ett enstaka C-k bara raderar texten på raden och +att det andra C-k raderar själva raden och flyttar upp texten på raden +under ett steg. C-k hanterar numeriska argument lite speciellt. Den +raderar så många rader OCH innehållet i dem. Detta är alltså inte bara +en repetition av kommandot. C-u 2 C-k raderar två rader samt de tomma +raderna, medan C-k två gånger inte kommer att göra det. + +För att hämta tillbaka den sist borttagna texten och placera den där +markören är, tryck C-y. + +>> Prova: Gör C-y för att få tillbaka texten. + +Tänk på C-y som att du drar tillbaka något som någon tagit ifrån +dig. Notera att om du gör flera C-k i rad så kommer all bortagen text +att sparas samlat så att ett C-y tar tillbaka alla raderna. + +>> Prova detta. Tryck C-k ett par gånger. + +Och hämta så tillbaka igen: + +>> Tryck C-y. Flytta markören några rader ned och tryck C-y igen. + Så kopierar man text. + +Men vad gör du om du har en text du önskar att hämta tillbaka men du +har redan tagit bort något nytt? C-y skulle hämta tillbaka den senaste +texten som blev borttagen men tidigare bortagen text är inte +förlorad. Du kan få tillbaka den med kommandot M-y. Efter att du har +använt C-y för att hämta tillbaka den sist borttagna texten kommer M-y +ersätta denna text med tidigare borttagen text. Genom att göra M-y om +och om igen hämtas allt tidigare borttagen text tillbaka. När du har +nått den önskade texten behöver du inte göra något ytterligare för att +behålla den. Fortsätt bara med din redigeringen och lämna den +återtagna texten där den är. + +Om du gör M-y tillräckligt många gånger kommer du att komma tillbaka +till startpunkten (texten som sist blev borttagen). + +>> Ta bort en rad, flytta markören till en ny rad och ta bort även + denna rad. Använd C-y för att hämta tillbaka den sista raden. Tryck + M-y för att byta den mot den tidigare borttagna raden. Tryck flera + M-y och se vad du får. Fortsätt med detta tills du får tillbaka den + första raden igen och sedan några gånger till. Om du vill kan du + prova med positiva och negativa argument till M-y. + + +* ÅNGRA +------- + +Om du gör en förändring i texten och sedan ångrar dig, så kan du +upphäva ändringen med kommandot C-x u (undo). + +Normalt kommer C-x u upphäva förändringen som gjordes av det sist +utförda kommandot. Om du repeterar C-x u flera gånger kommer varje +repetition upphäva ett kommando till. + +Det finns två undantag. Kommandon som inte förändrar texten räknas +inte (detta inkluderar markörförflyttningar och bläddringskommandon), +och inskrivna enkelbokstäver blir vanligtvis grupperade i grupper om +upp till 20 tecken. Detta är för att reducera antalet C-x u som behövs +för att ångra inskriven text. + +>> Ta bort den här raden med C-k. C-x u kommer att hämta tillbaka den + igen. + +C-_ är ett alternativ till ångra-kommandot. Den fungerar på samma sätt +som C-x u men är enklare att trycka flera gånger i följd. Det +olämpliga med C-_ är att den är svår att hitta på en del tangentbord. +Det är därför vi också har C-x u. På en del terminaler kan du få fram +C-_ genom att trycka / samtidigt som Ctrl hålls nere. + +Ett numeriskt argument till C-_ eller C-x u medför repetering. + + +* FILER +------- + +För att texten du har förändrat skall sparas permanent måste du lägga +den i en fil. Om du inte gör det kommer texten att försvinna när du +avslutar Emacs. Du lägger texten i en fil genom att först finna (find) +denna fil. Detta kallas också för att besöka filen (visit). + +Att finna en fil innebär att du ser filens innehåll i Emacs. På många +sätt är det som om du förändrar själva filen men förändringen du gör +kommer inte bli permanent förrän filen sparas (save). Detta är för att +undvika att halvförändrade filer sparas när du inte vill det. Till och +med när du sparar filen kommer Emacs att behålla originalet under ett +nytt namn, som backup, ifall du senare ångrar alltihop. + +Om du tittar nästan längst ner på skärmbilden så kommer du se en rad +som börjar och slutar med minustecken, och som innehåller texten +"--:-- TUTORIAL.se". Denna del av skärmbilden visar alltid namnet på +filen du besöker. Just nu är du inne i en fil som heter "TUTORIAL.se" +och som är en personlig kopia av vägledningen till Emacs. Vilken fil +du än är inne i så kommer filnamnet stå där. + +En annan sak med kommandot för att finna filer är att du måste ange +vilket filnamn du önskar. Vi säger att kommandot "läser ett argument +från terminalen". I detta fall är argumentet namnet på filen. Efter +att du gett kommandot + + C-x C-f Finn en fil + +kommer Emacs fråga efter ett filnamn. Filnamnet du skriver syns på den +nedersta raden i skärmbilden. Denna sista rad kallas minibuffert när +den används på det här sättet. Du kan använda vanliga Emacs-kommandon +för att förändra filnamnet. + +När du skriver in filnamnet, eller något annat i minibufferten, kan du +avbryta med kommandot C-g. + +>> Skriv C-x C-f och så C-g. Detta avbryter minibufferten och + avbryter också C-x C-f kommandot som använde minibufferten. Så att + du inte finner någon fil. + +När du är färdig med att skriva filnamnet trycker du <Return> för att +utföra kommandot. Då kommer C-x C-f kommandot att börja leta fram +filen. Minibufferten försvinner när C-x C-f kommandot är färdigt. + +Efter en liten stund kommer filen upp på skärmen och du kan börja +redigera innehållet. När du vill spara filen kan du använda detta +kommando + + C-x C-s Spara fil + +Detta sparar texten på skärmen till filen. Första gången detta görs +kommer Emacs att ge originalfilen ett nytt namn så att den inte går +förlorad. Det nya filnamnet bildas genom att lägga till ett "~" i +slutet av det ursprungliga filnamnet. + +När lagringen är utförd kommer Emacs skriva ut namnet på filen som +blev sparad. Du bör spara ofta så att du inte förlorar så mycket om +systemet kraschar. + +>> Skriv C-x C-s för att spara en kopia av denna vägledning. + Detta skall leda till att "Wrote ...TUTORIAL.se" skrivs ut nederst + på skärmbilden. + +Observera: På vissa system leder C-x C-s till att skärmen låser +sig. Detta tyder på att systemet har "flödeskontroll" och att denna +har fångat C-s och inte skickat den vidare till Emacs. För att +fortsätta måste du trycka C-q. Se i så fall i avsnittet "Spontaneous +Entry to Incremental Search" i Emacs-manualen för att få tips på hur +detta kan undvikas. + +Du kan finna en existerande fil, antingen för att förändra den eller +för att titta på den. Du kan också finna en fil som inte existerar. +Det är så man skapar nya filer med Emacs: finn filen, som är tom till +att börja med, och sätt igång med att skriva texten som skall in i +filen. Först när du sparar filen kommer Emacs att verkligen skapa +filen med den text du har skrivit. Från och med detta editerar du en +fil som existerar. + + +* BUFFERTAR +----------- + +Om du finner en ny fil med C-x C-f kommer den första filen fortsätta +att vara öppen i Emacs. Du kan byta tillbaka till den genom att finna +den på nytt med C-x C-f. På så sätt kan du ha ett stort antal filer +öppna i Emacs. + +>> Skapa en fil med namnet "foo" genom att trycka C-x C-f foo <Return>. + Skriv in lite text, redigera den och spara "foo" genom att använda + C-x C-s. Skriv till slut C-x C-f TUTORIAL.se<Return> för att komma + tillbaka till den här vägledningen. + +Emacs sparar texten för varje fil i ett objekt kallat "buffert". När +du finner en ny fil skapas en ny buffert i Emacs. För att se en lista +över existerande buffertar i Emacs kan du skriva + + C-x C-b Listning av buffertar. + +>> Prova C-x C-b nu. + +Se hur varje buffert har ett namn och att de också kan ha namnet på +den fil som innehållet kommer från. En del buffertar är inte knutna +till någon fil, till exempel bufferten "*Buffer List*". Det är den +buffert som innehåller buffertlistan som skapades med C-x C-b. Vilken +text du än ser i ett Emacs-fönster så tillhör den alltid en buffert. + +>> Skriv C-x 1 för att bli kvitt buffertlistan. + +Om du ändrar texten till en fil och sedan öppnar en ny fil, så kommer +inte den första filen sparas. Förändringen ligger kvar i +bufferten. Skapande och redigering av den nya filen påverkar inte den +första filens buffert. Detta kan vara bra men betyder också att du +behöver ett lämpligt sätt att spara den första filens buffert. Det är +omständligt att flytta tillbaka till den tidigare bufferten med C-x +C-f för att sedan spara filen med C-x C-s. Därför finns kommandot + + C-x s Spara buffertar + +C-x s frågar för varje buffert med ändringar, som inte sparats, om du +vill spara eller ej. + +>> Sätt in en rad med text och spara med C-x s + Du skall nu få frågan om du önskar spara bufferten + TUTORIAL.se. Svara ja på frågan genom att trycka "y" (yes). + + +* UTVIDGNING AV KOMMANDOMÄNGDEN +------------------------------- + +Det finns mycket fler Emacs-kommandon än antalet kontroll- eller +meta-tangenter. För att komma förbi denna begränsning har Emacs ett +"X"- (eXtend) kommando. Detta finns i två varianter: + + C-x Tecken-utvidgning. Följs av ett tecken. + M-x Namngiven kommandoutvidgning. Följs av ett + kommandonamn. + +Detta är kommandon som är bra att ha men används mer sällan än de +kommandon du redan har lärt dig. Du har redan sett två av dem, C-x C-f +för finn, och C-x C-s för spara. Ett annat exempel är kommandot för +att avsluta Emacs som är C-x C-c. Var inte rädd för att förlora +förändringar du har gjort. C-x C-c erbjuder dig att spara förändringar +innan Emacs avslutas. + +C-z är kommandot för att avsluta Emacs *tillfälligt* så att du kan +återvända till samma Emacs senare. + +På system som tillåter det kommer C-z suspendera Emacs, dvs. returnera +till kommandoraden utan att avsluta Emacs. I de flesta system kan du få +tillbaka Emacs med kommandot 'fg' eller '%emacs'. + +På system som saknar suspendering startar C-z ett skal som kör under +Emacs och som ger dig chansen till att köra andra program och sedan +återgå till Emacs efteråt. Den ger ingen riktig avslutning av Emacs. I +detta fall återvänder man vanligtvis till Emacs med kommandot 'exit'. + +C-x C-c används när du skall avsluta Emacs. Det är klokt att avsluta +Emacs om den har startats av ett mail-program eller andra +applikationer eftersom det inte är säkert att de kan hantera +suspendering av Emacs. Under normala omständigheter, om du inte har +tänkt att logga ut, är det bättre att suspendera Emacs med C-z +istället för att avsluta. + +Det finns många C-x kommandon. Här är en lista över de du har lärt dig +hittills: + + C-x C-f Finn fil. + C-x C-s Spara fil. + C-x C-b Lista buffertar. + C-x C-c Avsluta Emacs. + C-x 1 Ta bort alla utom ett fönster. + C-x u Ångra. + +Namngivna utvidgade kommandon är kommandon som används mycket sällan +eller bara i vissa lägen. Ett exempel på ett sådant kommando är +replace-string, som globalt ersätter en teckensträng med en annan. När +du skriver M-x kommer Emacs visa en prompt nederst i skärmbilden med +M-x där du skall skriva in kommandot du önskar att köra, i det här +fallet "replace-string". Det är bara att skriva "repl s<TAB>" och +Emacs kommer då att komplettera kommandonamnet. Avsluta kommandot med +<Return>. + +Kommandot replace-string kräver två argument, teckensträngen som skall +ersättas och teckensträngen som den skall ersättas med. Du måste +avsluta bägge argumenten med <Return>. + +>> Flytta markören till den blanka raden två rader under denna rad. + Skriv M-x repl s<Return>förändrad<Return>ändrad<Return>. + + Lägg märke till hur den här raden har blivit förändrad. Du har + ersatt ordet f-ö-r-ä-n-d-r-a-d med "ändrad" på alla platser där + ordet förekom, från markören och nedåt. + + +* SPARAUTOMATIK +--------------- + +När du har gjort förändringar i en fil men inte sparat den, så kommer +ändringarna att gå förlorade om maskinen kraschar. Som ett skydd mot +detta sparar Emacs periodiskt ändringarna i en autosparfil för varje +fil du redigerar. Denna fil har ett # i början och slutet av +filnamnet. Om du till exempel har en fil med namnet "hej.c" så kommer +namnet på autosparfilen bli "#hej.c#". När du sparar filen på vanlig +sätt kommer Emacs radera autosparfilen. + +Om maskinen kraschar kan du återfå dina automatiskt sparade ändringar +genom att finna filen på vanlig sätt (filen du redigerade, inte +autosparfilen) och skriva M-x recover-file<Return>. När Emacs vill ha +bekräftelse svarar du yes<Return> för att återställa filen. + + +* EKOOMRÅDE +----------- + +Om Emacs ser att du skriver kommandon långsamt så kommer de att visas +på den nedersta raden i skärmbilden i ett område som kallas +"ekoområde" (echo area). Detta område innehåller den nedersta raden på +skärmbilden. + + +* LÄGESRADEN +------------ + +Raden precis över ekoområdet kallas "lägesrad" (mode-line). Den ser +ungefär ut så här: + +--:** TUTORIAL (Fundamental)--L670--58%---------------- + +Raden innehåller information om Emacs och texten du redigerar. + +Du vet redan vad filnamnet betyder, det är den fil du har funnit. +-NN%-- visar den aktuella positionen i texten, dvs. NN procent av +texten befinner sig över toppen av skärmbilden. Om toppen av filen är +i skärmbilden kommer det stå --Top-- istället för --00%-- och om +slutet av filen är i skärmbilden kommer det stå --Bot--. Om du ser på +en fil där hela texten passar in på en sida kommer det stå --All--. + +Bokstaven L följd av siffror anger positionen på ett annat +sätt. Siffrorna visar vilken rad som markören befinner sig på. + +Stjärnorna nära början av raden visar att det har skett förändringar i +filen sedan den sist blev sparad. När du precis har öppnat en fil +kommer det inte stå något här, bara minustecken. + +Den del av lägesraden som står inom parentes visar vilket +redigeringsläge (mode) du använder. Standardläget är "Fundamental", +som du använder nu. Det är ett exempel på ett huvudläge (major mode). + +Emacs har många olika huvudlägen. Några av dem är gjorda för +redigering av olika programmeringsspråk eller typer av text, till +exempel Lisp mode och Text mode. Det kan bara vara ett huvudläge åt +gången och lägesnamnet står alltid där det står Fundamental nu. + +Varje huvudläge gör att en del kommandon uppför sig annorlunda. Det +finns till exempel kommandon för att sätta in kommentarer i programkod +och eftersom varje programmeringsspråk har sitt sätt att skriva +kommentarer på så måste de olika huvudlägena sätta in dessa +kommentarer på olika sätt. Varje huvudläge namnger ett utvidgat +kommando som används för att byte till det läget. Till exempel är M-x +fundamental-mode kommandot för att byta till huvudläget Fundamental. + +Om du skall redigera text, såsom den här filen, bör du troligen +använda Text-läge. + +>> Skriv M-x text mode<Return>. + +Inget av kommandona du har lärt dig hittills förändrar Emacs i någon +högre grad. Men lägg märke till att M-f och M-b nu behandlar +apostrofer som en del av ord. Tidigare, i Fundamental mode, behandlade +M-f och M-b apostrofer som ordavskiljare. + +Varje huvudläge gör vanligtvis små förändringar som denna och de flesta +kommandon gör samma sak i varje huvudläge, de fungerar bara lite +annorlunda. + +För att få fram dokumentationen för det läge du är i nu kan du skriva +C-h m. + +>> Använd C-u C-v så att denna rad kommer nära toppen av + skärmbilden. +>> Skriv C-h m och se hur Text-läget skiljer sig från + Fundamental-läget +>> Tryck C-x 1 för att ta bort dokumentationen från skärmbilden. + +Huvudläge kallas så för att det även finns sidolägen (minor mode). +Ett sidoläge ersätter inte ett huvudläge, utan modifierar det. Varje +sidoläge kan stängas av och på oberoende av andra sidolägen och +oberoende av huvudläget. Därför kan du använda ett sidoläge, en +kombination av flera sidolägen eller inget sidoläge alls. + +Ett bra sidoläge, speciellt för redigering av text, är +radbrytningsläget (auto-fill-mode). När detta läge är på bryter Emacs +rader mellan ord automatisk när du skriver in text så att en rad blir +för lång. + +Du kan slå på radbrytningsläget genom att skriva M-x auto fill +mode<Return>. När läget är påslaget kan du slå av det igen genom att +upprepa M-x auto fill mode<Return>. Om läget är avslaget slår +kommandot på det och vice versa. Vi säger att kommandot "växlar +läget". + +>> Skriv M-x auto fill mode<Return> nu. Skriv så in en rad med + "asdf " tills raden delar sig. Du måste sätta in blanktecken, för + Auto Fill bryter bara raden mellan ord. + +Marginalen är vanligtvis satt till 70 tecken men du kan ändra detta +genom att använda kommandot C-x f. Antalet tecken ges till kommandot +genom ett numeriskt argument. + +>> Skriv C-x f med ett argument på 20. (C-u 2 0 C-x f). Skriv sedan in + någon text och lägg märke till att Emacs bryter rader som är längre + än 20 tecken. Sätt tillbaka marginalen till 70 tecken igen, genom + att använda C-x f en gång till. + +Om du gör förändringar mitt i en rad så kommer inte sidoläget Auto +Fill att kunna omformattera raderna för dig. +För att göra detta kan du trycka M-q med markören inne i det avsnittet +du önskar att omformatera. + +>> Flytta markören in i föregående stycke och tryck M-q. + + +* SÖKNING +--------- + +Emacs kan söka efter textsträngar (grupper med sammanhängande +bokstäver eller ord) antingen framåt eller bakåt i texten. När du +söker efter text kommer markören att flytta sig till nästa plats där +teckensträngen uppträder. + +Sökmetoden i Emacs skiljer sig lite från sökmetoder i andra +redigeringsprogram genom att den är inkrementell. Detta betyder att +sökandet fortgår medan du skriver in teckensträngen du skall söka +efter. + +Kommandot för att inleda en sökning är C-s för att söka framåt och C-r +för att söka bakåt. MEN VÄNTA! Prova dem inte än. + +När du skriver C-s kommer du lägga märke till att texten "I-search" +dyker upp i eko-området. Detta säger dig att Emacs är inne i sidoläget +inkrementell sökning och väntar på att du skall skriva in det du letar +efter. <Return> avslutar sökandet. + +>> Skriv nu C-s för att starta en sökning. Skriv nu långsamt, en + bokstav i taget, ordet 'markör', och gör en paus efter varje gång + du skriver en bokstav så att du ser vad som sker med markören. Nu + har du sökt efter ordet "markör" en gång. +>> Skriv C-s en gång till för att söka efter nästa förekomst av ordet + "markör". +>> Tryck nu på <Delete> fyra gånger och se hur markören flyttar sig +>> Tryck <Return> för att avsluta sökandet. + +Såg du vad som hände? Under inkrementell sökning försöker Emacs att gå +till den första förekomsten av texten som du har skrivit så långt, och +markerar träffen så att du ser var den är. För att gå till nästa +förekomst av ordet 'markör' är det bara att trycka C-s en gång till. +Om det inte finns flera förekomster kommer Emacs att pipa och meddela +att sökandet har misslyckats. C-g avbryter också sökandet. + +Observera: På vissa system gör C-s att skärmen låser sig. Detta tyder +på att systemets flödeskontroll har fångat upp C-s och inte skickat +den vidare till Emacs. För att fortsätta måste du trycka C-q. Se i så +fall avsnittet "Spontaneous Entry to Incremental Search" i +Emacs-manualen för råd om hur detta kan undvikas. + +Om du är inne i en inkrementell sökning och trycker <Delete> kommer du +lägga märke till att den sista bokstaven i söksträngen blir raderad +och sökandet hoppar tillbaka till en tidigare förekomst. Om du till +exempel skriver "m" för att söka efter den första förekomsten av "m", +och sedan trycker "a" så kommer markören flytta sig till första +förekomsten av "ma". Tryck nu <Delete>. Detta avlägsnar "a" från +söksträngen, och markören flyttar sig tillbaka till den första +förekomsten av "m". + +Om du är mitt i en sökning och trycker ett kontroll- eller meta-tecken +så avbryts sökandet. Undantag är tecken som används under sökningen, +så som C-s och C-r. + +C-s startar en sökning som letar efter varje förekomst av söksträngen +EFTER markörspositionen. Om du skall söka efter en sträng tidigare i +texten måste du använda C-r. Allt vi har sagt om C-s gäller också för +C-r, bortsett från att riktningen på sökningen är den omvända. + + +* FLERA FÖNSTER +--------------- + +En av egenskaperna hos Emacs är att den kan visa mera än en buffert på +skärmen samtidig. + +>> Flytta markören till den här raden och tryck C-u 0 C-l + +>> Skriv nu C-x 2, som leder till att skärmen delas i två + fönster. Bägge fönstren visar den här vägledningen. Markören står i + det övre fönstret. + +>> Skriv C-M-v för att rulla det nedre fönstret. + (Om du inte har Meta-tangenten trycker du ESC C-v.) + +>> Skriv C-x o (o för other) för att flytta markören till det + nedre fönstret. + +>> Använd C-v och M-v i det nedre fönstret för att flytta upp + och ned i texten. Fortsätt att läsa den här texten i det övre + fönstret. + +>> Skriv C-x o igen för att flytta markören tillbaka till det övre + fönstret. Markören i det övre fönstret står på samma plats som det + gjorde när du lämnade det. + +Du kan fortsätta att använda C-x o för att byta mellan de två +fönstren. Vart och ett av fönstren har sin egen markörposition men det +är bara ett av fönstren som visar den. Alla redigeringskommandon +fungerar i det fönster där markören är synlig. Vi kallar detta fönster +för det valda fönstret (selected window). + +Kommandot C-M-v är bra när du redigerar text i ett fönster och +använder det andra fönstret för referenser. Då kan du kan ha markören +i samma fönster hela tiden och du kan använda C-M-v för att flytta dig +i det andra fönstret. + +C-M-v är ett exempel på en kontroll-meta-kombination. Om du har +META-tangenten håller du både kontroll och META nedtryckt samtidigt +som du trycker v. Det har ingen betydelse vilken av tangenterna +kontroll och META som trycks först, för bägge fungerar så att de +"modifierar" de andra tangenterna du trycker. + +Om du inte har META-tangenten och använder ESC istället är +ordningsföljden viktig. Du måste trycka ESC följt av kontroll-v, +kontroll-ESC v fungerar inte. Det är för att ESC är ett tecken i sig +och inte en äkta "modifierare". + +>> Skriv C-x 1 i det övre fönstret för att bli kvitt det nedre + fönstret. + +Om du hade skrivit C-x 1 i det nedre fönstret skulle det övre ha +försvunnit. Tänk på detta kommando som "Behåll bara ett fönster, det +som markören står i." + +Du måste inte ha samma buffert i bägge fönstren. Du kan använda C-x +C-f för att finna en ny fil i ett av fönstren samtidigt som det andra +fönstret förblir oförändrat. Du kommer att märka att fönstren är helt +oberoende. + +Här är ett annat sätt att använda två fönster till att visa två olika +filer: + +>> Skriv C-x 4 C-f följt av ett filnamn. Avsluta med <Return>. + Den nya filen kommer då att dyka upp i det nedre fönstret. + Markören flyttats också dit. + +>> Skriv C-x o för att gå tillbaka till det övre fönstret och C-x + 1 för att bli kvitt det nedre igen. + + +* REKURSIVA REDIGERINGSNIVÅER +----------------------------- + +Ibland kan du hamna i något som kallas "rekursiv redigering" +(recursive editing level). Detta indikeras med hakparenteser runt +huvudläget i lägesraden. Till exempel kan det stå [(Fundamental)] +istället för (Fundamental). + +För att komma ur rekursiv redigering trycker du ESC ESC ESC. Detta är +ett generellt brytkommando. Du kan också använda det för att bli kvitt +extra fönster och för att komma ut ur minibufferten. + +>> Skriv M-x för att komma in i minibufferten. Skriv så ESC ESC ESC + för att komma ut. + +Du kan inte använda C-g för att komma ut ur rekursiv redigering. +Detta är för att C-g används för att avbryta kommandon och argument +under rekursiv redigering. + + +* MER HJÄLP +----------- + +I denna vägledning har vi försökt inkludera precis så mycket +information att du kan börja använda Emacs. Det finns så många +möjligheter i Emacs att det skulle vara omöjligt att förklara alla +här. Men du VILL säkert lära dig mer om Emacs eftersom den har många +goda egenskaper. Emacs tillhandahåller kommandon för att läsa all +dokumentation. Dessa hjälpkommandon startas med teckenkombinationen +C-h. + +För att använda hjälpen skriver du C-h följt av ett tecken för den +hjälp du behöver. Om du verkligen är helt villrådig kan du trycka C-h +? för att Emacs skall visa vilken hjälp som finns tillgänglig. Om du +har skrivit C-h och bestämmer dig för att du inte behöver ha någon +hjälp kan du trycka C-g för att avbryta. + +På vissa platser är C-h omkonfigurerad. Det är normalt ingen bra ide´, +så du kan på goda grunder klaga hos systemadministratören. Under +tiden, om C-h inte visar ett hjälpmeddelande längst ner på skärmen, +kan du i stället försöka med funktionstangenten F1 eller M-x +help<Return>. + +Den mest grundläggande hjälp-funktionen är C-h c. Skriv C-h, ett "c" +och en knappsekvens. Emacs ger då en beskrivning av kommandot. + +>> Skriv C-h c C-p. + Meddelandet skall då bli något i stil med + + C-p runs the command previous-line + +Detta ger ett funktionsnamn. Funktionsnamnen används huvudsakligen för +att specialanpassa och utvidga Emacs. Men eftersom funktionerna har +beskrivande namn kan de också fungera som en enkel dokumentation, +tillräckligt för att påminna dig om kommandon du redan lärt dig. + +Flerteckenskommandon, så som C-x C-s och (om du inte har META, EDIT +eller ALT tangenten) <ESC> v, är också tillåtna efter C-h c. + +För att få mer information om ett kommando kan du använda C-h k +istället för C-h c. + +>> Skriv C-h k C-p. + +Detta kommer visa funktionens dokumentation och namn i ett eget +fönster. För att avsluta hjälpfönstret kan du trycka C-x 1. Du behöver +inte göra det omedelbart. Du kan editera med hjälptexten som stöd för +att först senare ta bort fönstret med C-x 1. + +Här är fler varianter på C-h: + + C-h f Beskriv en funktion. Du skriver in funktionsnamnet. + +>> Prova att skriva C-h f previous-line<Return>. + Detta ger den information Emacs har om funktionen + som implementerar kommandot C-p. + + C-h a Kommando-apropå (Command Apropos). Skriv in ett + nyckelord och Emacs listar all kommandon vars namn + innehåller det nyckelordet. Alla dessa + kommandon kan aktiveras med Meta-x. För några + kommandon listas också de kombinationer bestående av + en eller två tecken som kör det kommandot. + +>> Skriv C-h a file<Return>. + +Detta visar i ett annat fönster en lista över alla M-x kommandon där +"file" förekommer i kommandonamnet. Du kommer se teckenkommandon som +C-x C-f listade bredvid motsvarande kommandonamn, t.ex. find-file. + +>> Tryck C-M-v för att rulla texten i hjälpfönstret. Gör det några + gånger. + +>> Type C-x 1 för att ta bort hjälpfönstret. + + +* TILL SIST +----------- + +Tänk på att använda C-x C-c för att avsluta Emacs permanent. För att +tillfälligt gå till ett skal, så att du senare kan komma tillbaka +igen, använd C-z. + +Denna vägledningen är avsedd för nya användare, om det är något som är +oklart duger det inte att sitta och tycka synd om sig själv. Skicka +ett mail och klaga! + + +* KOPIERING +----------- + +Denna vägledning härstammar från en hel rad Emacs-vägledningar, och +den första skrevs av Stuart Cracraft för den ursprungliga Emacs. Mats +Lidell översatte den till Svenska. + +This version of the tutorial, like GNU Emacs, is copyrighted, and +comes with permission to distribute copies on certain conditions: + +Copyright (c) 1985, 1996 Free Software Foundation + + Permission is granted to anyone to make or distribute verbatim copies + of this document as received, in any medium, provided that the + copyright notice and permission notice are preserved, + and that the distributor grants the recipient permission + for further redistribution as permitted by this notice. + + Permission is granted to distribute modified versions + of this document, or of portions of it, + under the above conditions, provided also that they + carry prominent notices stating who last altered them. + +The conditions for copying Emacs itself are more complex, but in the +same spirit. Please read the file COPYING and then do give copies of +GNU Emacs to your friends. Help stamp out software obstructionism +("ownership") by using, writing, and sharing free software!