Emacs


Kuten aiemmin kirjoitin, Emacs on julkaistu ensimmäisen kerran vuona 1976. Vaikka kehitys on kehittynyt ja melkein kaikki muu siinä ohessa, Emacs on kaikesta huolimatta pysynyt tekstipohjaisena sovelluksena. Vaikka tekstipohjaisuudessa on tietysti omat haittansa, on siinä etuna sovelluksen keveys ja nopeus. Kun tänä päivänä etsii tietoa erilaisista muistiinpano-ohjelmista, vastaan tulee usein termejä kuten /personal knowledge management app/, /productivity app/ ja /everything app/ ja kaikkien näiden taustallahan on ihmisen halu hallita ja kirjata elämäänsä vain yhdessä sovelluksessa. Tämä tuo sovellukselle aivan omat haasteena, sillä tietomäärä kasvaa jossain vaiheessa jopa varsin suureksi ja sen hallitseminen vaatii sovellukselta jo aika paljon ja tietomäärän pyörittäminen voi käydä verraten raskaaksi. Emacsin tekstit tallentuvat tekstimuodossa ja siten niitä voi hyödyntää missä tahansa tekstinkäsittelyohjelmassa suoraan tai vastaavasti ne siirtyvät halutuin osin copy/pastella toisiin ohjelmiin. Tämä takaa sen, että vaikka teksti- ja tiedostomäärä on suuri, niin ne eivät vie tilaa läheskään niin paljon kuin muut formaatit.

Käytön aloittaminen

Emacsin käytön aloittaminen voi ensi alkuun olla haasteellista, sillä käyttöliittymä on hyvin pelkistetty ja komennot tapahtuvat hyvin pitkälti näppäinyhdistelmin, mutta esim. linkit aukeavat normaalisti hiirellä klikaten. Omasta näkökulmastani pelkistetty käyttöliittymä on vain positiivinen tekijä, sillä omat tekstini sisältävät pääosin vain tekstiä ja linkkejä ja Emacsia ohjaavat näppäinkomennot alkavat tarttua päähän yllättävän hyvin jo parin päivän käytön jälkeen, sovellusta pitää vain käyttää rohkeasti.

Ensimmäinen epäselvä seikka Emacsista tietoa etsivälle on yllättävää kyllä se, että mistä nyt oikein puhutaan, kun teksti saattaa mainita vanilla Emacsin, Doom Emacsin, Spacemacsin tai jotain muuta. Vanilla Emacs tarkoittaa sitä itseään, eli perinteistä Emacsia. Emacsin päälle on voitu tehdä jotain tuunausta ja esimerkiksi Doom Emacs poikkeaa hitusen toiminnoiltaan perus-Emacsista, mutta toiminnan perusperiaatteet ovat silti samat kuin vanillaversiossa. Itse valitsin syystä tai toisesta Doom Emacsin, vaikkei versiolla sinänsä ole mitään käytännön merkitystä peruskäyttäjälle.

Aivan ensimmäinen uutuus ja outous käyttöä aloittaessa on lukumoodin ja kirjoitusmoodin erottaminen toisistaan. Tiedostot aukeavat aina lukumoodissa, jolloin tekstin muokkaaminen ja lisääminen ei onnistu. Kirjoitusmoodiin pääsee painamalla ’i’ ja kirjoitusmoodista pääsee lukumoodiin painamalla ’Esc’ ja esimerkiksi kaikki globaalit toiminnot, kuten hakemistolistan avaaminen, ei onnistu lukumoodissa, sillä hakemistolistaus aukeaa näppäinyhdistelmällä ’Space + .’.

Emacsin säätäminen ja lisäosat

Emacsin perussetti on varsin suppea, mutta sille on tarjolla lukematon määrä erilaisia teemoja ja lisäosia, joiden avulla ulkosasua voi tuunata ja käyttöä laajentaa todella paljon. Toisaalta ulkoasua voi säätää myös itse haluamakseen, mutta silloin pitää osata vähän tuunata konfigurointitiedostojen sisältöä. Itse olen toistaiseksi käyttänyt valmista teemaa, mutta minulla on herännyt ajatus tämän teeman säätäminen väreiltään vähän enemmän omien halujeni mukaiseksi.

Valmiiden pakettien asennus on helppoa, mutta niiden kanssa pitää olla tarkkana, asentaako ne koskemaan istuntoa vai jatkuvaa käyttöä. Istuntoa koskevan paketin asennus on helppoa Emacsin sisällä, eikä se vaikeaa ole halutessa paketin jatkuvaan käyttöön. Esimerkiksi Doom Emacsissa on kolme tiedostoa: config.el, init.el ja packages.el, joista viimeiseen tehdään rivilisäys halutun paketin osalta:

Emacsin lisäosia on saatavilla todella runsaasti ja osan voi määritellä toimivaksi jo heti asennuksen jälkeen rukkaamalla init.el tiedoston sisältö poistamalla puolipisteitä haluttujen pakettien kohdalta ja käynnistämällä tämän jälkeen Emacins, jolloin lisäosat ovat käytössä jatkuvasti. Emacsia voi käyttää nettiselaimena, sähköpostiohjelmana, pdf-lukijana, terminaalina ja kaikea tätä yhdellä kerralla, eli periaatteessa käyttäjällä voi olla yhtäaikaa auki useita eri ikkunoita tai välilehtiä kuten normaalissa työpöytäkäytössäkin. Init-tiedostossa Emacsiin voi määritellä käyttöön myös useita eri ohjelmointikieliä syntakseineen, jolloin Emacs toimii täydellisesti myös ohjelmointiympäristönä kuten VIM tai VS Code.

Emacsia voi säätää todella, todella laajasti, mutta tietoa pitää etsiä runsaasti ja koko ajan. Tehtävää hankaloittaa Emacsin eri versiot, mutta sinnikkyys palkitaan. Erilaiset blogit ja videot ovat oleellisessa osassa tiedon löytämisessä ja niistä voi löytää yllättäviä vinkkejä, joita sitten päättää kokeilla itse. Kuten Linux ylipäätään, Emacs vaatii vaivaa, mutta lopputulos palkitsee.

Eri moodit

Kun Emacsin avaa, se avautuu täysin perusmoodiin, joka sisältää perustoiminnot tekstinkäsittelyn suhteen. /Org mode/ laajentaa kirjoitustilaa siten, että kirjoitustilaan voi lisätä esim. todo-toiminnot ja niiden seurannan, eri tietojen linkittäminen helpottuu jne. Moni käyttäjä käyttää pääasiassa Emacsin org modea sen toiminnallisuuden takia. Muita laajennuksia ovat (hyvin suppeasti esitettynä) mm.

  • Org-roam on laajennus, jonka avulla Emacsin voi muuttaa muistikirjaksi tai personal knowledge-sovellukseksi ja tällöin sivuille lisätään tosiinsa tai muualle linkitettyjä nodeja.
  • Org-journal on laajennus, joka lisää Emacsiin päiväkirjaominaisuuden, jolla voi tallentaa tietoa päiväkirjamaisesti.
  • Org-agenda laajentaa todo-listojen, projektien toteutumisen seurantaa erilaisin kalenteriominaisuuksin.
  • Markdown-mode mahdollistaa kirjoittamisen suoraan markdownilla.

Merkille pantavaa on se, että jos käyttäjä tallentaa tiedoston esimerkiksi tiedostopäätteellä .org, niin tiedostoa avatessa Emacs aukeaa suoraan org modeen ja vastaavasti, jos tyhjän tiedoston tallentaa tiedostopäätteellä .md ja avaa sen Emacsissa, Emacs aukeaa markdown-tilaan. Tyhjän .org tai .md -tiedoston voi luoda esim. komentorivin komennolla /touch tiedosto.org/ tai sitten tiedoston voi luoda Emacsin sisällä sen omassa tiedostonhallinnassa.

Lopuksi

Alussa mainitsin termit personal knowledge management appproductivity app ja everything app, ja Emacs on todellakin näitä kaikkea ihan viimeisen päälle. Tuo /everything app/ kuvaa Emacsia parhaiten, sillä Emacs taipuu melkeinpä kaikkeen. Jos käyttäjä haluaa visuaalista kokemusta, silloin Emacs tekstipohjaisena sovelluksena ei välttämättä ole vaihtoehdoista kaikkein paras, mutta muuten Emacs toimii aivan täysin niin päiväkirjana, muistiinpanosovelluksena, ohjelmointiympäristönä tai melkeinpä mitä käyttäjä siltä haluaa. Tätä tekstiä Emacsilla kirjoittaessa takanani on viikko Emacsin opettelua ja käyttö helpottuu päivä päivältä, vaikka Google ja Youtube ovatkin kovassa käytössä ohjeiden etsimisessä. Emacs vaatii paljon ensi alkuun, mutta se alkaa myös hyvin nopeasti antaa hyvin paljon alun kankeuksien jälkeen.

Kuva: Pixabay

 

 



Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *