3. marraskuu 2010, 18:46

Pimeä voima sai pään kääntymään

Kirjastossa kaksituntisella väliajalla kävelin O’Reilly-kustanteisen Learning GNU Emacs1 -oppaan ohitse, enkä voinut muuta kuin ottaa kirja kauniiseen käteen. Teos oli kyllä aika vanha, miltei 20 vuotta vanha, mutta Emacsin peruskäsitteethän ovat pysyneet. Tällä kertaa en siis voinut vastustaa kiusausta.

“Kieleni rajat ovat maailmani rajat”, sanotaan. Se jo yksinään käy hyvästä argumentista opiskella funktionaalisia kieliä, kuten Clojurea, mutta olen huomannut tietyn kehityksen:

  • Tutustuin ja innostuin Haskellista alkuvuodesta. Siirryin Haskellilla kirjoitettuun Xmonadiin myös vauhdilla.
  • Nyt olen tutustunut ja innostunut Clojureen, joka on Lisp-murre. Emacs pohjautuu oman Emacs Lispin päälle. Olen myös saamassa hyvää vauhtia Lispiin otetta, joten Emacsin kustomointi on aivan nurkan takana.

Kertookohan tämä jotain, pääsenköhän joskus sille Emacs-tasolle, että kaikki toimii upeasti, siten että Vim tuntuu kankealta, tympeältä ja rumalta? No, toivon toisaalta että en, mutta jos itse hyödyn vaihdoksesta jotain, sehän olisi upea homma?

Emacs, tuo hirviö. Olen siihen sen Viperin laittanut päälle, mutta sepä ei toimi kaikissa moodeissa, ja aiheuttaa täten ikävää vekslautumista. Voisin eLisp-taidoillani saada asiaan tolkkua. Kirjassa1 on oma lukunsa Emacs Lisp -kielelle, ja täytyy sanoa, että se näyttää herkulliselta, vaikkakin kovin proseduraalista onkin. Esimerkiksi tyylikäs save-excursion -funktio vastaa ikään kuin vimin lazy redraw -asetusta, mutta toimii kivasti tarjoten esimerkiksi mahdollisuuden antaa koodiskriptin “liikkua” puskurissa, eikä kuitenkaan häiritä käyttäjän tilaa. Koska Emacsin komennot ovat kaikki lisp-funktioita, joita on vain bindattu näppäinyhdistelmiin, on skriptaaminen myös helppoa ja hauskaa. Katsotaan vain, mitä proseduuria mikäkin näppäin kutsuu, ja sitten käytetään sitä automatisoidessa systeemiä.

Ja totta kai ne asiat, minkä takia Emacs on varteenotettava valinta: sen moninaiset ominaisuudet ja tuet. Graafinen puoli osaa myös vaihtelevanväliset fontit, toisin kuin GVim.

Perus-Emacsin hirvityksiin, eli näppäinmodifiereihin en paljoa haluaisi perehtyä. Viper on edellytys numero yksi.

1 Cameron ja Rosenblatt: Learning the GNU Emacs

Tageja: , ,

---
---

---

Aiheen vierestä