GNU Emacs

Allikas: Pingviini viki


GNU Emacs
Emacsi logo
Emacs

Tüüp: Tekstiredaktor
Arendaja:
Litsents: GPL
Viimane versioon: 24.1
Staatus: aktiivne
Eesti keel:
Koduleht: http://www.gnu.org/software/emacs/
Foorum:

Ajalugu

Emacs on tekstiredaktorite perekond, mis on tuntud oma kerge ja peaaegu piiramatu laiendatavuse ja konfigureeritavuse poolest. Tuntuimad Emacsid on GNU Emacs ja XEmacs. Emacsi arendus algas 1970-datel aastatel MIT-s.

GNU/Emacsi arendus sai alguse 1984. aastal Richard Stallmani poolt, eesmärgiks luua vaba tarkvara alternatiiv Goslingi Emacsile. Goslingi Emacs kasutas Mocklisp interpretaatorit, mis Stallman-ile ei meeldinud ja seega tähendas alternatiivi kirjutamine sisuliselt kogu senise koodbaasi välja vahetamist. GNU Emacs on umbes 80 prtosendi osas kirjutatud elispis ja umbes 20 protsendi osas C-s. Osa, mis on C kirjutatud kujutab endast põhimõtteliselt interpretaatorit, mis jooksutab erinevaid Emacsi Lispis kirjutatud koodijuppe, luues nii täisväärtusliku tekstiredaktori/töökeskkonna.

Esimene avalik reliis kandis numbrit 13 ja nägi ilmavalgust 20. Märtsil 1985. aastal. Hiljem porditi GNU Emacs ka Unix-le. Kuna tal oli tohkem võimalusi, kui Goslingi Emacsil, sai ta de facto Emacsi redaktoriks Unix-is.

Litsents

GNU Üldine Avalik Litsents teeb Emaci lähtekoodi, nii C, kui ka Emacsi Lisp komponendid, vabalt muudetavaks ja levitatavaks kõigile.

Võimalused

Seadistatavus

Tänu unikaalsele tarkvara disainile, on GNU Emacs sisuliselt lõpmatuseni seadistatav. Kuna sisulise funktsionaalsuse redaktorile annavad Emacsi Lispis programmeeritud moodulid, võib redaktorit sulgemata või mooduleid kompilleerimata erinvevaid muutujaid ja terveid fuktsioone ümber programmeerida.

Kasutajatel on Emacsi seadistamiseks kolm võimalust:

  • customize laiendus, mis lubab redaktori erinevaid mooduleid graafiliselt seadistada.
  • kogudes kiirklahve makrodesse ja taasesitada neid, tehes nii keerulisi ja korduvaid ülesandeid palju kiiremini.
  • kasutades Emacsi Lispi. Kasutaja kirjutab lispis vastavad funktsiooni/muutujad .emacs või .emacs.d/init.el faili. Fail laetakse Emacsi käivitamisel ja lennult viiakse sisse vastavad

kasutaja poolt soovitus muudatused.

Laiendatavus

Emacsiga tuleb kaasa juba suur hulk teeke või mooduleid (näiteks ERC irc jaoks), lisaks võib hankida kolmanda-osapoole teeke internetist. Emacs võib käituda, kui IDE programmeerijatele, kui irc klient, veebisirvija, organiseerija (org-mode), e-maili klient või millena iganes sa tahad teda töötamas näha.

Platvormid

Emacist on saanud kõige porditavam mitte-triviaalne tarkvarajupp maailmas. Ta töötab mitmetel operatsioonisüsteemidel, sealhulgas pea kõigil Unix-i ja Unixi-sarnastel süsteemidel nagu GNU/Linux, erinevad BSD-d, AIX, IRIX, Mac OS X, jne. Välja ei ole jäänud ka mitte-Unix süsteemid nagu DOS, Microsoft Windows ja OpenVMS.

Ise-dokumenteeriv

Esimene Emacs sisaldas endas innovaatilist help teeki, mis kuvas iga käsu, muutuja ja funktsiooni dokumentatsiooni. Sellepärast on Emacsi hakatud kutsuma ise-dokumenteeritavaks redaktoriks. Näiteks saab kasutaja otsida infot kindla kiirklavi kohta, toksides enne sisse C-h k (describe-key) ja seejärel vastav kiirklahv.

Emacsi spikker

Üldised kiirklahvid
 
C-x C-f                  Faili avamine
C-x C-s    (C-x C-w)     Salvesta puhver faili (Salvesta nimega).
C-_        (C-g)         Undo - või kasutada ka C-x u (Tühista käsk)
M-x print-buffer         Saada puhver printerisse
C-x C-c                  Välju Emacsist
 
Navigeerimise käsud
 
C-f        (C-b)         Edasi (tagasi) üks tähemärk
M-f        (M-b)         Edasi (tagasi) üks sõna
C-n        (C-p)         Järgmine (eelmine) rida
C-a        (C-e)         Rea algusesse (lõppu)
C-v        (M-v)         Leht alla (üless)
M-<        (M->)         Puhvri algusesse (lõppu)
C-l                      Joonista uuesti (aktiivne rida keskele)
 
Vormindamine
 
M-q        (C-M-\)       vorminda tekst paragrahvideks (reindent-i kood)
 
Otsimine
 
C-s        (C-r)         Otsi (otsi tagurpidi)
M-% (M-x replace-string) Asenda (Asenda kõik)
M-g g                    Mine teatud reale
 
Killimine (kustutamine) ja yankimise (asetamine) käsud
 
C-SPACE    (C-x C-x)     Määra asukoht (määra asukoht ja kursor)
C-w        (M-w)         Killi ala (kopeeri)
C-d        (M-d) (C-k)   Kustuta tähemärk (Killi sõna) (Killi rida) 
C-y        (M-y)         Yank  (ketra kill ringi) 
 
Abistamine käsud
 
c-h ?   (C-h m) (C-c ?)  Abistamise põhimenüü (abi mode) (aktiivne mode)
C-h i   (C-h a) (C-h b)  Info manuaalid (käsu abi) (kiirklahvi abi) 
C-M-v                    Keri abi akent
 
Puhvrite käsud
 
C-x k                    Sulge aktiivne puhver
C-x b <buffer name>      Vaheta nimelisse puhvrisse
C-x 2      (C-x 5)       Horisontaalne split (vertikaalne)
C-x 1      (C-x 0)       Kuva aktiivne puhver (peida aktiivne puhver) 
 
Ristküliku käsud
 
C-x r k    (C-x r y)     Killi ristkülik (yank-i ristkülik)
C-x r d    (C-x r c)     kustuta ristkülik (puhasta)
C-x r t    (C-x r o)     asenda ristkülik sõnaga (space)
 
C-g tähendab CTRL ja g klahv. M-x tähendab ALT ja x klahv.