Unix-perusteet: emacs 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. 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. 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. 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. 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 komennolla C-x C-s. • jos muokkaa useampaa kuin yhtä puskuria, aktiivista puskuria voi vaihtaa näppäinkomennolla C-x b. [1] emacs käyttää minipuskuria usein muihinkin tiedotuksiin ja lyhyisiin kysymyksiin 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 ssh-asiakasohjelmassa) on asetus, joka kuuluu suunnilleen `Backspace sends Delete' tjsp. Tämä asetus kannattaa aina panna päälle. 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 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-:… [2] tätä ei ole tarkoitus ymmärtää.