\documentclass[a4paper,twocolumn,10pt]{article}
\usepackage[swedish]{babel}
\usepackage[latin1]{inputenc}
\usepackage{layout}
%\usepackage{palatino}

\raggedright
\setlength{\topmargin}{-2cm}
\addtolength{\textwidth}{2cm}
%\addtolength{\evensidemargin}{-4cm}
\addtolength{\oddsidemargin}{-1cm}
\addtolength{\textheight}{4.5cm}

\newcommand{\latdel}{\section*}
\newcommand{\file}[1]{{\rmfamily\upshape#1}}

\renewenvironment{description}
 {% \renewcommand{\item}{\ttfamily\item}
  \begin{list}{foo}
    {\setlength{\parsep}{0\fill}%
     \renewcommand{\makelabel}[1]{\texttt{##1}}}}
 {\end{list}}

\begin{document}

%\layout

{\Huge\bfseries GNU Emacs}\hfill
\parbox[b]{1.5cm}{Liten\\lathund}

\vspace{10pt}

\noindent Framställd för UppLYSning 11/10 1995 av David Kågedal
\texttt{<davidk@lysator.liu.se>}.

\vspace{6pt}
\noindent\hrulefill

\latdel{Hjälp}

\begin{description}
  
\item[C-h C-h C-h] Hjälp om hjälp
\item[C-h m] Mod-specifik hjälp. Används om du undrar vad som är
  speciellt med en buffert och dess mod.
\item[C-h k] Beskriv vad en tangent gör.
\item[C-h w] Hitta på vilken tangent ett kommando är bundet.
\item[\ldots C-h] Vilka kommandon finns under \ldots? Om du trycker
  t.ex. \texttt{C-c~C-h} får du veta vilka tangentkommandon som finns
  under \texttt{C-c}.
\item[C-h i] Starta Info. Använd \texttt{h} för hjälp i Info, och
  \texttt{t} för en introduktion.
\item[C-\_, C-/, C-x u] Ångra. Jag tyckte det var lika bra att nämna
  det på en gång.
\end{description}

\latdel{Kommandon}

\begin{description}
\item[M-x] Kör ett kommando
\item[M-n, M-p] Gå framåt och bakåt i historielistan.
\item[C-u] Prefix. Ska man ange ett numeriskt prefix, skriv
  \texttt{C-u~1~7} för att ge prefixet 17. Ett alternativt sätt är att
  skriva \texttt{M-1~M-7} eller \texttt{M-1~7}. För negativa prefix,
  ge ett minustecken först.
\end{description}

\latdel{Filer och buffertar}

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

\begin{description}
\item[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 \texttt{ange-ftp}, som gör
  att du kan läsa filer på andra datorsystem via \texttt{ftp}.
\item[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.
\item[C-x b] Hoppa till en annan buffert i det aktuella fönsret.
\item[C-x C-b] Visa en lista på alla buffertar. Använd \texttt{C-h~m}
  i bufferten för att få hjälp.
\item[C-x 2] Dela ett fönster.
\item[C-x o] Hoppa till det andra fönstret.
\item[C-x 0] Ta bort det här fönstret.
\item[C-x 1] Ta bort alla andra fönster.
\item[M-x bury-buffer] Göm en buffert.
\item[C-x 4 f] Öppna en fil i en buffert i ett annat fönster. Finns
  inget annat fönster, skapas ett.
\item[C-x 4 b] Hoppa till en buffert i ett annat fönster.
\item[C-x 4 C-h] Du kommer väl ihåg hur man tar reda på vilka
  kommandon som finns?
\end{description}


\latdel{Förflyttning \& redigering}

\begin{description}
\item[C-f] Ett steg framåt.
\item[C-b] Ett steg bakåt.
\item[C-n] Gå till nästa rad.
\item[C-p] Gå till föregående rad.
\item[M-f] Ett ord framåt.
\item[M-p] Ett ord bakåt.
\end{description}

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

\begin{description}
\item[C-v] En sida framåt.
\item[M-v] En sida bakåt.
\item[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.
\item[C-a] Hoppa till början på raden.
\item[C-e] Hoppa till slutet på raden.
\item[M-<] Hoppa till början på bufferten.
\item[M->] Hoppa till slutet på bufferten.
\item[C-d] Radera nästa tecken.
\item[M-d] Radera nästa ord.
\item[C-o] Dela raden vid insättningspunkten.
\item[M-SPC] Ta bort överflödigt tomrum kring insättningspunkten.
\item[C-t] Byt plats på två tecken. Mer användbart än du tror!
\item[M-t] Byt plats på två ord.
\item[M-C-t] Byt plats på två uttryck.
\end{description}

\latdel{Klipp \& klistra (och mark \& region)}

\begin{description}
\item[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 \texttt{C-k} lägger ihop den
  dödade texten i ett block som lätt sätts in igen.
\item[C-y] Yank. Sätt in den senast dödade texten.
\item[M-y] Yank-pop. Detta kommando används direkt efter ett
  \texttt{C-y} eller \texttt{M-y}, och sätter in det föregående
  urklippet. Om du först sätter in det nyaste urklippet med
  \texttt{C-y}, så kommer den första tryckningen på \texttt{M-y} att
  ta bort den texten och ersätta den med ett äldre urklipp. Om du
  trycker på \texttt{M-y} fler gånger, kommer älrde urklipp successivt
  att ersätta det tidigare. Detta kommando kan spara dig mycket svett!
\item[C-SPC] Sätt markeringen här.
\item[C-x C-x] Växla insättningspunkt och markering.
\item[C-w] Döda regionen (området mellan markeringen och
  insättningspunkten). Det fungerar som om du tryckt \texttt{C-k} på
  hela texten.
\item[M-w] Kopiera regionen till kill-ringen. Detta kommando gör samma
  sak som \texttt{C-w}, men lämnar kvar texten. Det är detta kommando
  du oftast använder för att kopiera text.
\item[M-C-w] Nästa döda-kommando kommer att lägga till det senaste
  urklippet, istället för att skapa ett nytt.
\end{description}

\latdel{Formattering mm}

\begin{description}
\item[TAB] Indentera en rad. För att indentera en rad i program kod
  ska du alltid försöka använda \texttt{TAB}-tangenten istället för
  att stega dig fram med mellanslag.
\item[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.
\item[M-C-q] Indentera ett uttryck. Detta kommando finns bara i vissa
  programmeringsmoder.
\item[M-C-$\backslash$] Indentera regionen.
\item[M-x comment-region] Kommentera ut ett helt block med
  programkod. Ett numeriskt prefix ger antalet kommentarer, och mes
  ett \texttt{C-u}-prefix avkommenteras regionen istället.
\item[M-l, M-u, M-c] Gör nästa ord till bara små bokstäver, stora
  bokstäver respektive kapitaliserat.
\item[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.
\item[M-x auto-fill] Slå på \texttt{auto-fill-mode} som gör att rader
  bryts automatiskt.
\end{description}

Fler kommandon som kan vara intressanta är bland andra (kolla om de
har någon bindning med \texttt{C-h~w}):
\texttt{center.\{line,region,paragraph\}}, \texttt{intent-rigidly},
\texttt{kill-rectangle}, \texttt{yank-rectangle} \texttt{insert-file}
och många, många fler.

\latdel{Sök \& ersätt}

\begin{description}
\item[C-s] Inkrementell sökning framåt. Väldigt användbart! Tryck
  \texttt{C-h k~C-s} för att få veta alla finesser.
\item[C-r] Inkrementell sökning bakåt. Observera att du kan byta
  mellan \texttt{C-s} och \texttt{C-r} under en och samma sökning.
\item[M-\%] Sök och ersätt. Sök efter en sträng, och ersätt med en
  annan. Läs hjälptexten!
\item[M-x query-replace-regexp] En mer avancerad variant som arbetar
  med reguljära uttryck istället.
\item[M-/] Expandera ett ord till ett annat som finns i samma
  buffert.
\item[M-.] Hoppa till en deklaration med ett visst namn. Använder en
  \texttt{TAGS}-fil, som du skapar med programmet \texttt{etags}.
\end{description}

\latdel{Tangentbindningar}

\begin{description}
\item[M-x global-set-key] Bind en tangent globalt.
\item[M-x local-set-key] Bind en tangent i en buffert.
\end{description}

\latdel{Variabler och funktioner}

\begin{description}
\item[M-x set-variable] Sätt en variabel.
\item[C-h a] Sök efter ett kommando utifrån en del av namnet.
\item[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 \texttt{apropos} till \texttt{C-h~a}.
\end{description}

\latdel{Speciella paket}

\begin{description}
\item[C-x m] Sriv ett brev och skicka iväg det med \texttt{C-c
    C-c}. Glöm inte \texttt{C-h m}.
\item[M-x lyskom] Starta LysKOM
\item[M-x rmail] Starta RMAIL. Observera att RMAIL kommer att flytta
  alla dina brev till \texttt{\~{}/RMAIL}.
\item[M-x gnus] Starta News-programmet \texttt{Gnus}.
\item[M-x doctor] Om du blir riktigt desperat.
\item[C-u 9 M-x hanoi] När du inte trodde att du kunde få det
  tråkigare.
\item[M-x shell] När du insett att man inte behöver något mer än en
  Emacs.
\end{description}

\noindent\hrulefill

\latdel{Emacs Lisp}

\begin{description}
\item[(setq {\rmfamily\itshape variabel} {\rmfamily\itshape värde})]
  Sätt \textit{variabel} till \textit{värde}.
\item[(require 'rsz-mini)] Se till att paketet \texttt{rsz-mini} är
  inladdat.
\item[(load "tex-site")] Ladda filen \texttt{tex-site.el(c)}.
\item[(add-hook 'text-mode-hook 'turn-on-auto-fill)] Addera funktionen
  \texttt{turn-on-auto-fill} till kroken \texttt{text-mode-hook}
\end{description}

\ldots och en förskräcklig massa mer.

\noindent\hrulefill
\vfill

{\itshape Denna fil kan hämtas via {\em WWW} från
  \file{http://www.lysator.liu.se/upplysning/emacs/lathund.tex},
  eller via \file{ftp} från \file{ftp.lysator.liu.se}, som
  \file{/pub/emacs/lathund.tex}. På samma ställe finns även
  \file{dvi}- och PostScript-versioner av filen.}

\end{document}
