GNU Emacs  Liten lathund

Framställd för UppLYSning 11/10 1995 av David

Kågedal <davidk@lysator.liu.se>.

Hjälp

C-h C-h C-h Hjälp om hjälp

C-h m Mod-specifik hjälp. Används om du undrar vad som är speciellt med en buffert och dess mod.

C-h k Beskriv vad en tangent gör.

C-h w Hitta på vilken tangent ett kommando är bundet.

...C-h Vilka kommandon finns under … ? Om du trycker t.ex. C-c C-h får du veta vilka tangentkommandon som finns under C-c.

C-h i Starta Info. Använd h för hjälp i Info, och t för en introduktion.

C- , C-/, C-x u Ångra. Jag tyckte det var lika bra att nämna det på en gång.

Kommandon

M-x Kör ett kommando

M-n, M-p Gå framåt och bakåt i historielistan.

C-u Prefix. Ska man ange ett numeriskt prefix, skriv C-u 1 7 för att ge prefixet 17. Ett alternativt sätt är att skriva M-1 M-7 eller M-1 7. För negativa prefix, ge ett minustecken först.

Filer och buffertar

Ett fönster visar innehållet i en buffert. Innehållet i en buffert är ofta inläst från en fil.

C-x C-f Plocka in en fil en en buffert, och visa den i ett fönster. Du kan även visa filkataloger så här. (Varning för att det kan fungera dåligt på IDA) Läs även om ange-ftp, som gör att du kan läsa filer på andra datorsystem via ftp.

C-x C-v Öppna en annan fil i samma buffert. Om du råkade öppna fel fil, eller en fil som inte fanns, och vill välja rätt fil istället så använd detta kommando.

C-x b Hoppa till en annan buffert i det aktuella fönsret.

C-x C-b Visa en lista på alla buffertar. Använd C-h m i bufferten för att få hjälp.

C-x 2 Dela ett fönster.

C-x o Hoppa till det andra fönstret.

C-x 0 Ta bort det här fönstret.

C-x 1 Ta bort alla andra fönster.

M-x bury-buffer Göm en buffert.

C-x 4 f Öppna en fil i en buffert i ett annat fönster. Finns inget annat fönster, skapas ett.

C-x 4 b Hoppa till en buffert i ett annat fönster.

C-x 4 C-h Du kommer väl ihåg hur man tar reda på vilka kommandon som finns?

Förflyttning & redigering

C-f Ett steg framåt.

C-b Ett steg bakåt.

C-n Gå till nästa rad.

C-p Gå till föregående rad.

M-f Ett ord framåt.

M-p Ett ord bakåt.

Kom ihåg att du kan ange ett prefix till ovanstående kommandon för att förflytta dig längre steg i taget. C-u C-u C-n går t.ex. 16 (4 × 4) rader nedåt.

C-v En sida framåt.

M-v En sida bakåt.

M-C-v En sida ner i ett annat fönster. Detta är t.ex. användbart när man får en lång hjälptext i ett annat fönster.

C-a Hoppa till början på raden.

C-e Hoppa till slutet på raden.

M-< Hoppa till början på bufferten.

M-> Hoppa till slutet på bufferten.

C-d Radera nästa tecken.

M-d Radera nästa ord.

C-o Dela raden vid insättningspunkten.

M-SPC Ta bort överflödigt tomrum kring insättningspunkten.

C-t Byt plats på två tecken. Mer användbart än du tror!

M-t Byt plats på två ord.

M-C-t Byt plats på två uttryck.

Klipp & klistra (och mark & region)

C-k Kill. Ta bort resten av raden och lägg den på kill-ringen. Om man står sist på raden redan, ta bort radbrytningen. Upprepad användning av C-k lägger ihop den dödade texten i ett block som lätt sätts in igen.

C-y Yank. Sätt in den senast dödade texten.

M-y Yank-pop. Detta kommando används direkt efter ett C-y eller M-y, och sätter in det föregående urklippet. Om du först sätter in det nyaste urklippet med C-y, så kommer den första tryckningen på M-y att ta bort den texten och ersätta den med ett äldre urklipp. Om du trycker på M-y fler gånger, kommer älrde urklipp successivt att ersätta det tidigare. Detta kommando kan spara dig mycket svett!

C-SPC Sätt markeringen här.

C-x C-x Växla insättningspunkt och markering.

C-w Döda regionen (området mellan markeringen och insättningspunkten). Det fungerar som om du tryckt C-k på hela texten.

M-w Kopiera regionen till kill-ringen. Detta kommando gör samma sak som C-w, men lämnar kvar texten. Det är detta kommando du oftast använder för att kopiera text.

M-C-w Nästa döda-kommando kommer att lägga till det senaste urklippet, istället för att skapa ett nytt.

Formattering mm

TAB Indentera en rad. För att indentera en rad i program kod ska du alltid försöka använda TAB-tangenten istället för att stega dig fram med mellanslag.

LFD, C-j Ny rad, och indentera. Detta är väldigt användbart vid progamkodseditering, och jag föreslår att du byter plats på LFD och RET.

M-C-q Indentera ett uttryck. Detta kommando finns bara i vissa programmeringsmoder.

M-C-\ Indentera regionen.

M-x comment-region Kommentera ut ett helt block med programkod. Ett numeriskt prefix ger antalet kommentarer, och mes ett C-u-prefix avkommenteras regionen istället.

M-l, M-u, M-c Gör nästa ord till bara små bokstäver, stora bokstäver respektive kapitaliserat.

M-q Bryt om ett stycke. Om du har skrivit ett textstycke som du behöver bryta om till lagom radlängd, ställer du dig i stycket och ger detta komamndo.

M-x auto-fill Slå på auto-fill-mode som gör att

rader bryts automatiskt.

Fler kommandon som kan vara intressanta är bland andra (kolla om de har någon bindning med C-h w):

center.{line,region,paragraph}, intent-rigidly,
kill-rectangle, yank-rectangle insert-file och

många, många fler.

Sök & ersätt

C-s Inkrementell sökning framåt. Väldigt användbart! Tryck C-h k C-s för att få veta alla finesser.

C-r Inkrementell sökning bakåt. Observera att du kan byta mellan C-s och C-r under en och samma sökning.

M-% Sök och ersätt. Sök efter en sträng, och ersätt med en annan. Läs hjälptexten!

M-x query-replace-regexp En mer avancerad variant

som arbetar med reguljära uttryck istället.

M-/ Expandera ett ord till ett annat som finns i samma buffert.

M-. Hoppa till en deklaration med ett visst namn. Använder en TAGS-fil, som du skapar med programmet etags.

Tangentbindningar

M-x global-set-key Bind en tangent globalt.

M-x local-set-key Bind en tangent i en buffert.

Variabler och funktioner

                                              M-x set-variable Sätt en variabel.

C-h a Sök efter ett kommando utifrån en del av namnet.

M-x apropos Sök efter funktioner och variabler utifrån en del av namnet. Om du tycker att detta är mer användbart, råder jag dig att binda apropos till

                                                 C-h a.

Speciella paket

C-x m Sriv ett brev och skicka iväg det med C-c C-c. Glöm inte C-h m.

M-x lyskom Starta LysKOM

M-x rmail Starta RMAIL. Observera att RMAIL kommer att flytta alla dina brev till ~/RMAIL.

M-x gnus Starta News-programmet Gnus.

M-x doctor Om du blir riktigt desperat.

C-u 9 M-x hanoi När du inte trodde att du kunde få det tråkigare.

M-x shell När du insett att man inte behöver något mer än en Emacs.

Emacs Lisp

(setq variabel värde) Sätt variabel till värde.

                                              (require 'rsz-mini) Se till att paketet rsz-mini är

inladdat.

                                              (load "tex-site") Ladda filen tex-site.el(c).
                                              (add-hook 'text-mode-hook 'turn-on-auto-fill)

Addera funktionen turn-on-auto-fill till kroken

                                                 text-mode-hook

… och en förskräcklig massa mer.

Denna fil kan hämtas via WWW från

http://www.lysator.liu.se/upplysning/emacs/lathund.tex, eller via ftp från ftp.lysator.liu.se, som /pub/emacs/lathund.tex. På samma ställe finns även dvi- och PostScript-versioner av filen.