Emacs-tekstieditori

Tekstieditori on ohjelma, jonka pääasiallisena tarkoituksena on toimia välineenä, jolla tietokoneen käyttäjä kirjoittaa, muuttaa ja tallettaa tekstitiedostoja. Tekstieditori ei kuitenkaan ole sama asia kuin tekstinäsittelyohjelma. Toisin kuin tekstinkäsittelyohjelmalla, tekstieditorilla ei voi määritellä suoraan valikosta lihavointeja, marginaaleja, tekstin kokoa jne. Tekstieditori ei myöskään oletusarvoisesti tallenna tekstejä ohjelman omaan muotoon, vaan geneeriseen tekstimuotoon, yleensä käyttöjärjestelmän käyttämällä merkistöllä (merkistöistä, ks. lisätietoja).

Emacs-editori on laajennettava editori, joka voi toimia perustarkoituksensa lisäksi mm. komentotulkkina, sähköpostiohjelmana, tiedostonhallintatyökaluna jne. Tällä kurssilla keskitymme kuitenkin vain Emacsin peruskäyttöön tekstieditorina: tekstien hakemiseen tiedostosta, tekstissä liikkumiseen, tekstin poistamiseen ja kopiointiin, tekstien välilä liikkumiseeen jne.

Emacsiin liittyy kolme toisilleen läheistä käsitettä: tiedosto, puskuri ja ikkuna. Jokainen näistä käsitteistä liitty tekstidokumenttiin. Tiedostona teksti on tallennettuna levylle. Puskuri on emacs-editorin ylläpitämä tietokoneen työmuistin osa, jossa teksti voi olla muutettuna ja tallettamattomana. Ikkuna puolestaan on se tekstin kuva, jonka editori näyttää. Ikkunoita ja puskureita voi olla yhdessä edittorissa auki samalla kertaa useita. Yhdestä tiedostosta voi hakea tekstin useampaan puskuriin, ja samaan puskuriin voi olla erilaisia näkymiä editorin useammassa ikkunassa. Aktivinen ikkuna on se, jossa kursori on.

Emacsissa komentoja voi antaa kolmella tavalla: valikosta, lyhyinä näpäinkomentoina ja pitkinä sanallisina komentoina. Valikkokomentoja emme tällä kurssilla käsittele. Näppäinkomennot suoritetaan joko painamalla Ctrl-näppäin (Control) alas yhtaikaa jonkun muun näppäimen kanssa tai painamalla Esc-näppäin (Escape) alas, päästämällä se ylös ja paimalla sitten jotain muuta näppäintä. Sanalliset komennot annetaan painamalla ensin Esc-näppäintä, sitten x-näppäintä, kirjoittamalla komennon nimi ja painamalla Enter-näppäintä. Alla olevassa taulukossa on joitakin Emacsin tekstin ja tiedostojen käsittelemiseen tarkoitettuja komentoja. Mikäli näppäinten nimet on yhdistetty, ne painetaan alas yhtaikaa, muuten peräkkäin.

Emacsin komentoja

Emacs-editori käynnistetään komennnolla emacs. Komennolle voidaan antaa argumenteiksi tiedostojen nimiä, jolloin editori avautuessaan hakee tiedostot käsiteltäviksi.

NäppäinkomentoSanallinen komento
(Esc-x komento)
Toiminta
Tiedostoihin, puskureihin ja ikkunoihin liittyviä komentoja
CTRL-x CTRL-ffind-fileHae tiedostoon liiittyvä puskuri aktiiviseen ikkunaan.
CTRL-x s ysave-some-buffersTallenna puskureita, kysy käyttäjältä vahvistusta.
CTRL-x CTRL-ssave-bufferTallenna puskuri tiedostoon.
CTRL-x iinsert-fileHae tiedosto kursorin kohdalle aktiiviseen ikkunaan.
CTRL-x CTRL-wwrite-fileKirjoita puskuri tiedostoon, kysy käyttäjältä tiedoston nimeä.
CTRL-x oother-windowSiirrä kursori toiseen ikkunaan.
CTRL-x 1delete-other-windowsTee aktiivisesta ikkunasta ainoa ikkuna.
CTRL-x 2split-window-verticallyJaa aktiivinen ikkuna kahteen vertikaalisesti
CTRL-x 3split-window-horizontallyJaa aktiivinen ikkuna kahteen horisontaalisesti
CTRL-x 0delete-windowSulje aktivinen ikkuna.
CTRL-x bswitch-to-bufferSiirry toiseen puskuriin.
CTRL-x CTRL-blist-buffersAvaa uuteen ikkunaan lista aktiivisista puskureista.
CTRL-x kkill-bufferSulje puskuri.
Tekstiin liittyviä komentoja.
CTRL-abeginning-of-lineSiirrä kursori rivin alkuun.
CTRL-eend-of-lineSiirrä kursori rivin loppuun.
Esc <beginning-of-bufferSiirrä kursori puskurin alkuun.
Esc >end-of-bufferSiirrä kursori puskurin loppuun.
CTRL-nnext-lineSiirrä kursori seuraavalle riville.
CTRL-pprevious-lineSiirrä kursori edelliselle riville.
CTRL-fforward-charSiirrä kursori seuraavan merkin kohdalle.
CTRL-bforward-charSiirrä kursori edellisen merkin kohdalle.
CTRL-vscroll-upSiirry yksi ruutu puskurin alkuun päin.
Esc vscroll-downSiirry yksi ruutu puskurin loppuun päin.
CTRL-kkill-linePoista teksti kursorin kohdalta rivin loppuun. Tallenna poistettu teksti muistiin.
CTRL-[välilyönti]set-mark-commandAseta merkki kursorin kohdalle
CTRL-wkill-regionPoista teksti kursorin kohdalta merkin kohdalle. Tallenna poistettu teksti yank-muistiin.
CTRL-yyankTuo edellinen poistettu teksti kursorin kohdalle.
Esc yyank-popKorvaa yank-komennolla tuotu edellinen poisto sitä edellisellä poistolla.
CTRL-x CTRL-xSiirry merkin kohdalle (tai takaisin).
query-replaceKorvaa merkkijono toisella. Kysy vahvistusta jokaiselle korvaukselle.
Muita komentoja
CTRL-zsuspend-emacsKeskeytä Emacs-editori ja palaa komentotulkkiin. Emacsin toimintaa voi jatkaa komentotulkin komennolla fg.
CTRL-x CTRL-csave-buffers-kill-emacsTallenna puskurit (kysy vahvistus). Lopeta Emacs.
CTRL-hhelp-commandTarjoa mm. alla mainittuja apuja.
CTRL-h ?apropos-commandKerro mitä apuja on tarjolla.
CTRL-h aapropos-commandKerro komennoista avainsanan perusteella.
CTRL-h thelp-with-tutorialKäynnistä opetusohjelmapuskuri.
Esc xexecute-extended-commandKäynnistä sanallinen komento.
CTRL-gkeyboard-quitLopeta käynnissä oleva toiminto.
CTRL-uundoPeruuta edellinen toiminto
 perl-modeSiirry Perl-moodiin
 sh-modeSiirry sh-moodiin
 show-paren-modeSulkuparien näyttö päälle/pois
 global-font-lockKytke käytetyn moodin mukaiset värit päälle/pois

Aina kaikkien merkkien kirjoittaminen ei ole mahdollista suoraan näppäimistöltä. Alla on esimerkkejä muutaman erikoismerkin kirjoittamisesta. Nämä merkit kuuluvat kaikki ISO-8859-1 -standardiin (oletusarvoinen 8-bittinen ASCII-merkistö). Jukka Korpelan sivuilta Using accented letters and other ISO Latin 1 characters in Emacs näet mitä merkkejä standardiin kuuluu ja opit asetuksen, joilla niitä voi kirjoittaa nopeammin.

 
Erikoismerkkien kirjoittaminen emacsilla
PainalluksetMerkki
CTRL-x 8 " aä
CTRL-x 8 " AÄ
CTRL-x 8 ~ DŠ
CTRL-x 8 / eę
CTRL-x 8 / EĘ
CTRL-x 8 , cē
CTRL-x 8 , CĒ
CTRL-x 8 / oų
CTRL-x 8 " oö
CTRL-x 8 " sß
CTRL-x 8 ~ tŽ

Vaihtoehtoisesti nämä voi tulostaa myös emacsin "käskyillä". Käskytilaan pääsee painamalla ESC-x. Sen jälkeen kirjoitetaan halutun merkin tulostava käsky, joka alkaa aina iso-transl-. (Tabulattori toimii samoin kuin komentotulkissa.) Esimerkiksi å-merkin saa aikaiseksi kirjoittamalla ESC-x iso-transl-a-ring.

[ LuentoKomentolistaAineistotTehtävätLisätietoja ]


Mikko Lounela
ISO-8859-laajennukset: Nicholas Volk
Tuesday, 11-Feb-2003 08:19:06 EET