Emacs

Från Unix.se, den fria unixresursen.

Emacs är en texteditor. Den är även mycket annat. Namnet står för Editor MACroS och var till en början just en mängd olika makron till TECO-editorn skrivna av dess många användare vid MIT. 1976 påbörjades ett projekt att sammanställa alla dessa i ett paket av Guy Steele, vilket senare fullföljdes av Richard Stallman. Den första Emacs-varianten för Unix skrevs 1981 av James Gosling. Emacs har vid det här laget evolverat till en fullfjädrad textredigerare med ett grafiskt gränssnitt.

Det finns i princip två (populära) varianter av Emacs: GNU Emacs (vilken Stallman själv är med och utvecklar sedan 1984) samt XEmacs. Den senare förgrenades från den förra 1991. Med Emacs menas ofta just GNU Emacs.

Emacs bygger på en lispdialekt vid namn Emacs Lisp, och säkerligen till stor del på grund av denna finns det tonvis med tillägg till Emacs som gör om texteditorn till allt ifrån webb- (http://www.gnu.org/software/w3/) och mailläsare (http://www.emacswiki.org/cgi-bin/wiki/CategoryMail) till den (ö)kända psykologen (http://www.emacswiki.org/cgi-bin/wiki/EmacsDoctor) och andra spel (http://www.emacswiki.org/cgi-bin/wiki/CategoryGames).

Innehåll

Grundläggande redigering

Till att börja med kan vara bra att nämna att tangentkombinationer vanligtvis skrivs som [Modifierare]-[Tangent]. Exempelvis betyder C-p "håll inne control-knappen och tryck samtidigt på p". Mellanslag, så som i C-h c, innebär att man ska släppa den föregående kombinationen och sedan trycka tangenten som kommer efteråt (det förra exemplet innebär "håll inne control-knappen samtidigt som du trycker h, släpp därefter alla knappar och tryck in c ensamt).

Spara, avsluta etc.

Några kommandon som kontrollerar de mest grundläggande funktionerna (så som att avsluta, spara osv.) listas nedan:

C-x C-c    Avslutar Emacs.
C-x C-s    Sparar buffern du jobbar i för tillfället.
C-x C-f    Öppnar en fil. Besök en ickeexisterande för att skapa ny.
C-g        Avbryter det kommando du har börjat skriva.
C-h        Hjälp (mycket användbar, exempelvis för att se vad ett kommando gör).
  C-h b      Listar alla kortkommandon ("bindings").
  C-h t      En kort introduktion ("tutorial").

Navigering

Det finns två sätt att flytta markören ett steg upp, ned, bak respektive fram: piltangenterna eller följande kommandon:

C-p      Uppåt
C-n      Nedåt
C-f      Framåt
C-b      Bakåt

Genom att använda din meta-knapp (vanligtvis alt, skrivs som M-[tangent]) istället för control ihop med n och f flyttas markören hela ord. Förflyttning över större textmassor sker ofta med:

C-v       Nedåt en sida.
M-v       Uppåt en sida.
C-a       Till början av raden.
C-e       Till slutet av raden.

Textmanipulering

Text tas bort med:

C-d       Tar bort tecknet under markören.
Backspace Fungerar som väntat.

Dessa kan kombineras med meta för att operera på hela ord istället.

För att markera text via tangentbordet används

C-space   Sätter en markör.

där du vill börja markera text. Gå sedan med markören till slutet av stycket du vill markera, och utför önskad åtgärd på texten. Exempelvis:

C-w       Kill (kopierar även texten den dödar).
M-w       Kopiera markerad text.

För att klistra in ('yank') text använder du

C-y

Emacs håller reda på allt du har kopierat tidigare, och efter att du har klistrat in text med C-y kan du bläddra mellan tidigare kopierad text med

M-y

Prova själv. Du kommer att märka att det är en rätt praktisk funktion.

Inställningar, filen .emacs

För att få Emacs/XEmacs att någorlunda bete sig som en "vanlig" editor kan man tillämpa en del enkla trick. Enklast är att lägga in följande rader i filen .emacs i sin hemkatalog.

(pc-bindings-mode t)
(pc-selection-mode t)
(transient-mark-mode t)

Detta ger att Home, End, Page Up/Down och liknande fungerar som man förväntar sig. Dessutom lägger det till stöd för att markera text med Shift-piltangenterna. I nyare versioner av Emacs finns stöd för CUA, dvs. C-x, C-c, C-v för att klippa, kopiera och klistra in, men med pc-selection-mode får man tyvärr bara stöd för följande kommandon när man markerat sin text:

Shift-Del     Klipp ut
Shift-Ins     Klistra in
Ctrl-Ins      Copiera

Citat

"Emacs är som ett helt operativsystem utan en vettig editor"

-- Okänd

"I think that all the other projects from the GNU group are for Linux insignificant in comparison. GCC is the only one that I really care about. A number of them I hate with a passion; the Emacs editor is horrible, for example. While Linux is larger than Emacs, at least Linux has the excuse that it needs to be."

-- Linus Torvalds, "The Linux Edge" from "Open Sources"

"In 'Doctor' mode, I spent a good ten minutes telling Emacs what I thought of it. (The response was, 'Perhaps you could try to be less abusive.')"

-- Matt Welsh (http://print.google.com/print?q=Matt+Welsh&oi=print)

"If you don't use emacs, you're a pathetic, mewling, masochistic weakling and I can't be bothered to convert you."

-- Ron Echeverri

Externa länkar

  • GNU Emacs (http://www.gnu.org/software/emacs/emacs.html) officiella hemsida
  • XEmacs (http://www.xemacs.org) officiella hemsida
  • Emacswiki (http://www.emacswiki.org/) - En wiki som innehåller allt om Emacs & XEmacs
Personliga verktyg