Viikon VALO #46

GNU Emacs

GNU Emacs on tekstieditori jolla voi tehdä kaiken. Jos jotain ei voi Emacsilla tehdä, se ei ole tekemisen arvoista.

 Emacsia käyttävät etenkin ohjelmoijat, se soveltuukin koodaamiseen kaikenlaisilla ohjelmointikielillä.

Oikeasti löytyy toki kohteita joiden tekemiseen Emacs ei sovellu, mutta koska Emacs on laajennettavissa voi ohjelmoida tarvittavat lisätoiminnot ja sitten Emacsilla voi tehdä senkin.

Alunperin vitsailtiin Emacsin olevan lyhenne sanoista Emacs Makes Any Computer Slow. Aikoinaan tässä olikin totta toinen puoli, Emacs on alunperin kehitetty vuonna 1976, ja GNU Emacs vuonna 1984. Tuohon aikaan tietokoneissa muistin määrä oli rajoitettu ja tehoakin oli hintelästi nykykoneisiin verrattuna. Tämän kirjoittamalla oli Commodore 64 vuonna 1984, silloin se oli kova luu koska Amiga ja Atari ST julkaistiin vasta vuonna 1985. Emacsin tunnetuin kehittäjä on GNU-projektin alullepanija Richard M. Stallman.

Toinen Unixien alkuajoista asti mukana ollut tekstieditori on vi. Sen filosofia on tyystin erilainen kuin Emacsilla. Vi on pieni yksinkertainen, Emacsin ohjelmatiedosto on kertaluokkaa suurempi.

Emacs on suosionsa ansiosta saanut paljon jäljittelijöitä. Tekstieditoreita tehdään toimimaan samoilla näppäinkomennoilla kuin Emacs, jotta Emacsia osaavien ei tarvitse opetella uusia komentoja. Samoin Linuxin Bash-komentotulkki käyttää Emacsin näppäinkomentoja (voi valita käytettävän vi:n näppäinkomentoja). Sovelluksissa joissa muokataan tekstiä on ehkä mahdollista käynnistää Emacs tekemään muokkaus; esimerkiksi Firefoxin laajennos It's All Text mahdollistaa Emacsin tai muun tekstieditorin käynnistämisen kun selaimessa muokataan tekstikenttää (saatavilla Debian GNU/Linuxissa pakettina xul-ext-itsalltext). Tämäkin teksti on kirjoitettu GNU Emacs versiolla 23 It's All Text -lisäosan avulla. Muutenhan tätä ei olisi kannattanut kirjoittaa lainkaan, kuten artikkelin alussa todettiinkin.

GNU Emacs -projektista haarautui XEmacs 80- ja 90-lukujen vaihteessa. Koska lähdekoodi on vapaa, voi toinen taho kehittää sovellusta mieleiseensä suuntaan, ja jos eri tahot pysyvät erimielisinä voi syntyä pysyvästi kaksi kehityshaaraa.

Alunperin GNU Emacs toimi tekstipäätteessä. Nykyään Emacseja voi käyttää hiirelläkin, toiminnot ovat pudotusvalikoissa. Samaa Emacsia voi käyttää sekä tekstipäätteessä että X Window -järjestelmässä tai Windowsissa GUI:n kera. Pikakomennot opettelemalla saa nopeammin kirjoitettua molemmissa kun sormia ei tarvitse siirtää pois näppäimistöltä hiirtä hamuamaan.

Toimitilat ovat Emacsin moodeja joissa toiminnallisuus on sovitettu muokattavaan tekstiin. Esimerkiksi Python-moodi osaa korostaa syntaksia ja ymmärtää sisentää koodin kuten Pythonissa kuuluu. Näitä moodeja on paljon vakiona mukana ja lisää löytyy, Debian GNU/Linuxissa 44 kappaletta emacs mode -paketteja.

Koska Emacsin laajennoksia on helppo tehdä, ainakin helpompi kuin muissa tekstieditoreissa joissa niitä ei voi lainkaan tehdä, on kaikenlaista erikoistakin tehty. Vakiona on mukana kaksi laskinta (ohjelmoitava ja tavallinen), kalenteri, noin tusina peliä, sähköpostiohjelma ja usenetin uutisten lukija. Luulin jo Emacsista jätetyn psykiatri pois, mutta sepä ei vaan olekaan työkaluvalikossa. Näppäilemällä Meta-X doctor saa sen käynnistettyä.

Kannattaa opetella Emacs, niin ei tarvitse opetella muita tekstieditoreita kun Emacs on saatavilla joka paikkaan.

Kotisivu
http://www.gnu.org/s/emacs/
Lisenssi
GNU GPL
Toimii seuraavilla alustoilla
Aika kattavasti kaikilla alustoilla. Ehkä voisi arvailla, että jos laitteessa on QWERTY-näppäimistö, siihen saa Emacsin.
Asennus
Linux-jakeluissa tulee jakelun omista pakettivarastoista. Muissa Unixeissa Emacs joko tulee valmiiksi mukana tai asennuspaketin voi noutaa jostain tai itse kääntää. Windows-käyttäjät joutunevat noutamaan asennustiedoston kotisivulta.
Käyttöohjeet
GNU Emacsissa on sisäänrakennettu ohjetoiminto. Saatavilla on vapaa GNU Emacs käsikirja. Netistä löytyy paljon ohjeita ja kirjakaupasta kirjoja.

Linkkejä:

Teksti: Taleman
kuvakaappaukset: Taleman

Kommentit

Emacs, XKCD ja perhoset
Anonymous 17. Joulukuu 2011 - 4:50
http://xkcd.com/378/