Liten Datorhandbok För Målmedvetna

Academic Computer Club, Umeå Universitet, 2000


UNIX


Emacs

Escape Meta Alt Control Shift

Detta är en av de lättare och mest programmeringsvänliga editorerna som finns. Man kan få emacs att fungera hur som helst och det finns automatiskt stöd för de flesta programmeringsspråk, så som C, Pascal, Lisp och HTML. Detta gör att editorn fungerar lite annorlunda i olika programmeringsspråk. Om man har tillgång till X-Windows så har man tillgång till en massa olika menyer där man hittar de flesta funktionerna lätt. Har man inte X så kan man använda tab för att se olika alternativ på kommandon.

Men nu till det viktigaste man bör kunna i en editor, hur man kommer ur den! Först kontroll-x och sedan kontroll-c. Har du ändrat i det du skrivit får du en fråga om du vill spara ändringarna. Vill du inte spara så får du en fråga om du vill avsluta ändå, denna måste du besvara med hela ordet Yes för att komma ut. Vill man bara spara använder man sig av kontroll-x och kontroll-s.

Nästa sak som kan vara bra att kunna är att starta upp editorn. Detta görs genom att man skriver emacs vid prompten. Emacs tar också en massa olika optioner, de viktigaste att känna till är -nw (no window) som man använder om man inte vill att den skall starta upp något fönster. Detta kan vara bra om man kör mot en dator någonstanns som är tungt belastad (till exempel ACCs maskiner). Den andra optionen som är bra att känna till är filnamnet, genom att skriva "emacs " så startar emacs upp och läser in filen när man börjar. Om man startar Emacs i X miljön kan man även lägga till ett & sist så den blir ett bakgrundsprogram och man får tillbaka prompten.

Det som gör Emacs extra bra för programmerare är dess automatiska indentering av kod. Om man man startar den i C-läge (genom att editera en fil som sluter på .c eller Meta-x c-mode, Meta är den tangent som ofta är märkt med alt, i Emacs kan man alltid använda Escape istället för Meta om man inte skulle ha någon Meta tangent) indenterar den automatiskt C-kod på ett bra sätt. Detta kan man använda på två sätt. Dels kan man indentera en rad genom att trycka på Tab, dels kan man automatiskt byta rad och indentera nästa rad genom att trycka på kontroll-j i stället för return när man byter rad.

Emacs har en massa (och då menar jag MASSA) olika funktioner och det finns inte plats att beskriva alla här. Men man kan från Emacs göra allt från att läsa brev till att spela Tetris. Man kan koppla upp sig mot irc, kompilera källkod, starta debugmiljöer och mycket mer. Jag kommer bara att gå in på en del enkla funktioner som man har användning av i alla lägen.

Söker efter text i en fil gör man genom kontroll-s, sedan skriver man in bokstav för bokstav det man söker efter. Emacs kommer för varje bokstav du skriver in att hoppa till nästa passande ord. Vill du hoppa till nästa förekomst av det du skrivit in trycker du kontroll-s igen och för att avsluta kan du använda någon av piltangenterna. skriver du in fel att söka efter går det bra att ta bort tecken med Backspace.

Man kan också söka och ersätta text enkelt. Detta gör man genom Meta-% då får man först en fråga om vilket ord man vill ersätta och sedan vad man vill ersätta det med. Sedan om ordet du sökte efter hittas är det dags att byta ut det. Genom att trycka 'y' byter du ut det ordet du står på, 'n' hoppar över att byta ut det ordet, Escape aslutar sök och ersätt och ! ersätter alla förekomster till slutet av filen.

Att kunna förflytta sig i texten är bra. För att komma till början av en rad använder man kontroll-a och för att komma till slutet kontroll-e. För att gå fram ett tecken använder man kontroll-f och bakåt med kontroll-b, om man använder Meta i stället så hoppar man ett ord. I allmänhet så kan man säga att Meta hoppar en enhet längre än kontroll, t.ex. Meta a och e hoppar meningar medan kontoll hoppar på rader. För att komma till nästa rad avänder man kontroll-n och för föregående kontroll-p. Vill man hoppa längre görs detta med hjälp av kontroll-v och Meta-v som hoppar en skärmsida fram och tillbaks. Självklart går det bra att använda piltangenter om man nu har sådana på sitt tangentbord :-) Skulle man vilja centrera texten på det man nu står på kan man använda sig av kontroll-l så hamnar den raden man nu står på i centrum av texten. Om man vill ta sig till början eller slutet av texten använder man sig av Meta-< och Meta->.

Emacs skiljer på tre typer av kommandon, mycket vanliga, vanliga och inte så vanliga. De vanliga är de som används när man skriver in text så som söka efter text och förflytta sig fram och tillbaka i texten. Dessa kan man alltid nå via en tangentkombination som t.ex. kontroll-s eller Meta-b, de vanliga börjar med kontroll-x (eXtended) och sedan någon mer tangent så som spara (kontroll-x kontroll-s). De ovanliga kommandona börjar med Meta-x (Meta är en enhet större än kontroll). Efter Meta-x skriver man in vilket kommando man vill göra, så som Meta-x c-mode, man kan här använda Tab för att komplettera det man skriver och finns det flera alternativ får man upp en lista över dessa. Skriver man fel kan man använda kontroll-g för att avsluta kommandot.

Emacs har dessutom en bra Undo buffert, genom kontoll-_ tar man bort det senast gjorda kommandot. Detta kan man upprepa en massa gånger för att komma tillbaka till något man hade innan man gjorde fel. Tar man bort för mycket lägger man in något i texten (t.ex. genom att trycka på mellanslag), och trycker sedan på kontroll-_ igen så lägger de tillbaka alla ändringar man har gjort.

För att kopiera och flytta text i Emacs finns det ett par olika möjligheter och varianter beroende på vad man vill flytta. Allt man raderar hamnar i en så kallade Yank buffert. Denna buffert kan man stoppa tillbaka text från med hjälp av kontroll-y. Man kan även kopiera stycken till Yank bufferten. Detta görs genom att man sätter ut ett märke där man vill att utklippet skall börja (oftast med kontroll-@) och flyttar markören dit utklippet slutar. Här använder man kontroll-w för att klippa ut texten, eller Meta-w för att kopiera den. Har man en X miljö kan man även markera text med musen, då hamnar den i Yank bufferten. Detta gäller även text man markerar och kopierar i andra fönster i X.

Man kan enkelt jobba med flera filer i Emacs, antingen kan man dela upp fönstret i flera delfönster eller så kan man ha flera buffrar i gång. För att dela på fönster i horisontell led använder man kontroll-x 2 och i vertikalt med kontroll-x 3. Man kan växla mellan de olika fönstrena antingen med musen eller med kontroll-o. Man kan nu läsa in en ny fil i det fönster man jobbar i med kontroll-x kontroll-f, om man vill att den filen man jobbar med skall ta upp hela fönstret trycker man kontroll-x 1. Man kan även växla mellan olika inlästa filer, kontroll-x b ger en fråga om vilken buffer man vill jobba i. Det är bara att skriva in namnet på den buffer man vill jobba med.

Författat av Anders Arnholm


Bakåt , Framåt , Upp, Huvudsida
Denna sida ändrades sist av handbok den 14/11 2000 00:12:50.
Last modified [an error occurred while processing this directive]