Emacs

Linux.fista
Versio hetkellä 8. joulukuuta 2020 kello 12.50 – tehnyt LinuxMan (keskustelu | muokkaukset)
Siirry navigaatioon Siirry hakuun
Emacs

Käyttöliittymä X tai teksti
Lisenssi GPL
Kotisivu gnu.org/software/emacs

Tässä artikkelissa kerrotaan yleisesti ohjelmasta Emacs. Opas Emacsin peruskäyttöön löytyy artikkelista Emacsin peruskäyttö.

GNU Emacs, yleensä vain Emacs on monipuolinen ja mukautettava tekstieditori ja yleinen käyttöympäristö. GNU Emacsin kehityksen aloitti Richard Stallman vuonna 1984, joskin ensimmäiset Emacs-sukuiset editorit syntyivät jo 70-luvulla. Emacsia voi laajentaa Emacs Lisp -kielellä, jolla on toteutettu jopa mediasoitinten ja www-selainten kaltaisia sovelluksia. GNU Emacsista haarautui (fork) vuonna 1991 XEmacs, jossa oli aikoinaan mm. edistyksellisempi graafinen käyttöliittymä. Nykyään XEmacsin kehitys on jäänyt jälkeen GNU Emacsista.

Emacs on todella laaja ohjelma. Sen mukana tulee mm. sähköpostiohjelma (Gnus, RMail), uutisryhmälukija (Gnus), monipuolinen kalenteri, laskin ja pelejä (löytyy Tools-valikosta). Usein vitsaillaankin, että Emacs on hyvä käyttöjärjestelmä jossa on huono tekstieditori.

Komentoja

Seuraavassa on listattu joitakin yleiskäyttöisiä komentoja. Joidenkin merkitys muuttuu kulloinkin käytössä olevan moodin mukaan, ja voivatpa moodit määrittää myös omia näppäinkomentoja. Esimerkiksi Vi-editorin emulointiin on olemassa vakiona peräti kolme moodia. Näppäinkomennot, kuten monet muutkin asiat Emacsissä, voi mukauttaa mieleisekseen.

Seuraavassa luettelossa C tarkoittaa Control-näppäintä ja M Meta-näppäintä, joka on yleensä Alt, mutta Esc-näppäin toimii myös.

Tiedostossa liikkuminen

Seuraavat komennot liikuttavat osoitinta puskurin sisällä.

C-p rivi ylöspäin C-n rivi alaspäin
C-f merkki eteenpäin C-b merkki taaksepäin M-f sana eteenpäin M-b sana taaksepäin
C-a rivin alkuun C-e rivin loppuun M-a lauseen alkuun M-e lauseen loppuun
C-v ruudullinen eteenpäin M-v ruudullinen taaksepäin
M-> puskurin loppuun M-< puskurin alkuun

Tekstin poistaminen, palauttaminen ja valinta

Emacsissä tekstin valinta tapahtuu asettamalla merkki ja liikuttamalla kursoria. Valinta on merkin ja kursorin väliin jäävä alue.

C-välilyönti Aseta merkki C-x C-x Vaihda merkin ja kursorin paikat keskenään.
askelpalautin Poista edellinen merkki M-askelpalautin Leikkaa edeltävä sana
C-d Poista seuraava merkki M-d Leikkaa seuraava sana
C-k Leikkaa rivin loppu M-k Leikkaa lauseen loppu
C-w Leikkaa valinta M-w Kopioi valinta
C-y Liitä M-y Korvaa edellinen liitos vanhemmalla leikkauksella
C-_ Kumoa edellinen muokkaus

Etsi ja korvaa

Seuraavat komennot etsivät merkkijonoa puskurista.

C-s Etsi eteenpäin C-r Etsi taaksepäin
M-% Etsi ja korvaa

Tiedostot

C-x C-f Avaa tiedosto C-x C-s Tallenna tiedosto C-x C-w Tallenna tiedosto nimellä C-x s Tallenna kaikki tiedostot

Puskurit ja ikkunat

C-x C-b Listaa puskurit C-x k Tuhoa puskuri
C-x 0 Piilota aktiivinen ikkuna C-x 1 Suurenna aktiivinen ikkuna
C-x 2 Kahdenna ikkuna pystysuunnassa C-x 3 Kahdenna ikkuna leveyssuunnassa
C-x o Siirry seuraavaan ikkunaan C-x b Vaihda ikkunan puskuria

Apukomennot

C-h ? Näytä lista aputoiminnoista C-h t Aloita interaktiivinen opas
C-h r Lue Emacsin manuaalia C-h m Näytä aktiivisten pää- ja sivutilojen dokumentaatio ja näppäinkomennot

Muuta

C-u numero Toista seuraava komento n kertaa C-g Keskeytä komento
C-x C-c Lopeta Emacsin käyttö C-z Poistu tilapäisesti (paluu komennolla fg)
F10 Siirry valikkoon

Emacs-sovelluksia

Emacs sisältää hyvin laajalti erilaisia ohjelmia. Seuraavassa listataan niistä muutamia. Useimmat käynnistyvät joko komennolla M-x ohjelma, tai käynnistyvät automaattisesti esim. lähdekooditiedostoa avattaessa.

Hakemistomuokkain Dired

Dired on moodi tiedostonhallintaan. Siihen pääsee komennolla C-x d tai avaamalla hakemiston (C-x C-f hakemisto). Tällöin Dired luo puskurin, jossa hakemiston tiedostot ovat listattuna ls -l -komennon tavoin. Puskurin voi myös luoda find-komennon hakutuloksista komennolla M-x find-dired. Tavallisiin tiedosto-operaatiohin, kuten siirtoon, kopiointiin, poistamiseen, pakkaamiseen, salaamiseen ja niiden omistajan, oikeuksien, nimen muuttamiseen löytyy omat komentonsa. Mikäli nämä eivät riitä, voi komennolla ! suorittaa kuorikomennon valituille tiedostoille.

Image-dired mahdollistaa kuvien selaamisen joko pikkukuvina tai täydessä koossaan. Komento C-t d luo merkityistä tiedostoista pikkukuvat ja näyttää ne omassa puskurissaan.

Kalenteri ja päiväkirja

  • calendar on Emacsin kalenteri. Se tuntee lukuisia kalenterijärjestelmiä, pystyy laskemaan auringonnousun ja -laskun ajankohdat ja kuun vaiheet ja tulostamaan kalentereita LaTeX- tai Html-muodossa. Kalenterissa liikkuminen sujuu pitkälti aivan tavallisilla siirtymiskomennoilla, kuten C-p, M-a ja vastaavat. Ohessa on malli, jota soveltamalla Emacsin kalenteri kotoistuu. Sen voi liittää sopivasti soveltaen esim. /.emacs.d/init.el-tiedostoon.

   (setq
         calendar-latitude [62 25 north]
         calendar-longitude [25 75 east]
         calendar-location-name "Jyväskylä"
         calendar-week-start-day '1
         european-calendar-style 't)

Kuoria

Yksittäisiä kuorikomentoja voi suorittaa komennolla M-!. Numeerisella argumentilla, esim. C-u M-! kuorikomennon tuloste kirjoitetaan nykyiseen puskuriin. M-| taas käyttää valintaa komennon standardisyötteenä. Jos nämä eivät riitä vaan tarvitaan interaktiivinen komentokuori-istunto, löytyy Emacsistä seuraavat sovellukset:

  • shell on yksinkertainen, mutta "tyhmä" kuori.
  • ansi-term ja term käynnistävät "älykkään" kuoren, jolla voi käyttää Ncurses-sovelluksia, kuten vaikkapa Nethackia. Tämä mahdollistaa järkevän editorin, kuten Vimin, käytön Emacsissä.
  • eshell on kokonaan elispillä ohjelmoitu kuori, joka on shelliä "tyhmempi".

IRC-asiakasohjelmia

  • ERC
  • rcirc

Org

Org kuuluu siihen harvalukuiseen sovellusten joukkoon, joiden käyttö on helpompaa kuin niiden kuvaaminen lyhyesti ja täsmällisesti. Ainakin se on Emacsin oma moodi muistiinpanojen ja todo-listojen kirjoittamiseen, projektinhallintaan ja dokumenttien laadintaan. Sitä voi käyttää esimerkiksi henkilökohtaisen Wikin tapaan. Orgilla kirjoitetut dokumentit voi viedä esimerkiksi html-sivuiksi, LaTeX-, pdf- tai odt-tiedostoiksi.

Ominaisuuksista voidaan mainita mm. deadlinet, aikaleimat, taulukkolaskenta, hypertekstilinkit tiedostoihin sekä verkkoon ja literate programming -ympäristö.

Lyhyt johdatus Org-moodin käyttöön on esimerkiksi tämä David O'Toolen tutoriaali.

TRAMP

TRAMP (suomeksi 'kulkuri') eli Transparent Remote Access, Multiple Protocol tuo etätiedostojen muokkauskyvyn Emacsiin. Se tukee ssh-, rsh-, telnet-protokollia.

Katso myös

Aiheesta muualla

Emacs-oppaita