Unix-perusteet: emacs

Panu A. Kalliokoski Date: 2004/04/26 12:02:20

Sisältö

1 emacs: yleistä 1 2 Puskurit 1 3 Näppäinmuuntimista 1 4 Ehdottomia näppäinkomentoja 2 5 Puskureiden käyttö 2 6 Merkkien poisto: emacs:n historiallinen ongelma 2 7 Apua ja sen etsintää 3 8 Sielunelämä 3

1 emacs: yleistä

• koska (raaka-)teksti on Unixissa suunnilleen kaiken perusta, tekstin muokkaukseen tarkoitetut ohjelmat ovat hyvin tärkeitä. Näitä ohjelmia sanotaan editoreiksi tai tekstieditoreiksi.

• laitoksella on perinteisesti käytetty emacs-editoria, joka tarjoaa erittäin monipuoliset ominaisuudet verrattain helppokäyttöisessä kuoressa.

• emacs:n käyttö (graafisessa tilassa) muistuttaa itse asiassa melko paljon tekstinkäsittelyohjelman käyttöä. Valikoista tosin löytyy aivan muuta kuin mihin on tottunut…

• emacs ei itse asiassa ole kovin Unixmainen ohjelma, vaan pikemminkin Unixissa maanpaossa oleva jäänne aikoinaan suuresta Lisp-kulttuurista.

2 Puskurit

• koko emacs perustuu yhteen yhdistävään käsitteeseen, puskuriin (“buffer”).

• puskuri on tietokoneen muistissa sijaitseva tekstipötkö, jota voi selailla, muokata jne. Puskuri on siis sama asia emacs:ssa kuin tiedosto tiedostojärjestelmässä (puskureita tosin ei ole järjestetty hakemistohierarkiaan).

• osa puskureista on liitetty (“associated”) tiedostoihin, eli niiden voi ajatella esittävän tietyn tiedoston sisällön. Osa taas on esim. emacs:n sisäisten tapahtumien kirjaamista varten, ja ne pyyhkiytyvät, kun poistuu emacs:sta.

• kun emacs:lla kirjoitetaan tekstiä, se tyypillisesti alusta alkaen liitetään johonkin tiedostoon, eli tekstinkäsittelyohjelmista tuttua “nimettömän dokumentin” käsitettä ei oikein ole.

3 Näppäinmuuntimista

• emacs:ssa on paljon näppäinkomentoja, joten näppäinmuuntimien (kuten Ctrl, Alt jne) käyttö on yleistä.

• emacs:lla on oma tapansa kutsua näppäinmuuntimia sisältäviä näppäinkomentoja. Esimerkiksi C-m tarkoittaa “pidetään Ctrl-näppäintä pohjassa ja painetaan m”, M-a puolestaan “pidetään Meta-näppäintä pohjassa ja painetaan a”.

• Aika harvoissa näppäimistöissä on nykyään Meta-näppäin. (Joskus Alt toimii Meta-näppäimenä.) Näppäimen puuttuessa sen voi korvata painamalla Esc-näppäintä. Esc-näppäintä ei kuitenkaan jätetä pohjaan toisen näppäimen painamisen ajaksi vaan esim. M-a lähetetään painamalla ensin Esc ja sitten a.

4 Ehdottomia näppäinkomentoja

• Pois emacs:sta pääsee komennolla C-x C-c.

• Jos et oikein tiedä, missä mennään, emacs:n perustilaan pitäisi päästä painamalla C-g.

5 Puskureiden käyttö

• jos emacs:lle antaa argumentiksi tiedoston, se avaa suoraan kyseisen tiedoston (oli se olemassa tai ei) uuteen puskuriin.

• emacs:n sisällä saman tempun voi tehdä näppäinkomennolla C-x C-f. Tällöin emacs kysyy avattavan tiedoston nimeä ikkunan alalaidassa sijaitsevassa minipuskurissa^{1}.

• puskurin sisällön voi tallettaa takaisin siihen liittyvään tiedostoon komen-

nolla C-x C-s.

• jos muokkaa useampaa kuin yhtä puskuria, aktiivista puskuria voi vaihtaa näppäinkomennolla C-x b.

1emacs käyttää minipuskuria usein muihinkin tiedotuksiin ja lyhyisiin kysymyksiin

6 Merkkien poisto: emacs:n historiallinen ongelma

• vanhastaan emacs:ssa on merkkejä poistettu “Delete”-näppäimellä, apua on haettu painamalla C-h.

• valitettavasti silloin kun näppäimistöihin alettiin lisätä varsinaisia merkinpoistonäppäimiä (“rubout” / “backspace”, Enter-näppäimen yläpuolella oleva näppäin) ei päästy yksimielisyyteen siitä, minkä merkin se tuottaa. Edelleen on paljon ympäristöjä, joissa se tuottaa C-h:n.

• seurauksena emacs joskus luulee sinun kysyvän apua, kun yrität poistaa merkin…

• ratkaisuna melkein joka pääte-emulaattorissa (esim. käyttämässäsi sshasiakasohjelmassa) on asetus, joka kuuluu suunnilleen “Backspace sends Delete” tjsp. Tämä asetus kannattaa aina panna päälle.

7 Apua ja sen etsintää

• emacs:ssa on hämmästyttävä määrä erilaisia aputoimintoja. Listan niistä saa painamalla C-h C-h.

• jos haluaa ohjatun opetuskierroksen emacs:sta, kannattaa kokeilla tutoriaalia (C-h t).

• muuten hyödyllisimpiä avukkeita lienevät:

– C-h a etsii tietoa aihesanan perusteella

– C-h m kertoo emacs:n senhetkisestä tilasta

– C-h k kertoo, mitä jokin näppäinkomento tekee

8 Sielunelämä

• emacs ei itse asiassa ole vain editori, vaan (valitettavasti) myös ohjelmaympäristö. emacs:ssa on valtavasti erilaisia pikku ohjelmia, joista osa liittyy tekstin muokkaamiseen, osa ei, ja jotka monet eivät ole edes yhdistetty mihinkään näppäinkomentoon.

• mielivaltaisia emacs:n komentoja voi kutsua näppäilemällä M-x ja kirjoittamalla komennon nimen.

• vielä hullummat voivat kokeilla elispiä^{2} ja näppäillä M-:…

2tätä ei ole tarkoitus ymmärtää.