Emacs-opas, luku 5 Peruskäskyt Emacsissa:

Tekstin kirjoittaminen ja yksinkertainen editointi

Jos olet aiemmin käyttänyt jotakin muuta editoria, se on ehkä ollut sellainen, jossa on erikseen syöttötila (tekstin kirjoittamista varten) ja editointitila (tekstin korjailua tai muuttamista varten). Emacs on erilainen:

Jos siis haluat kirjoittaa uuden tekstin, voit Emacsin käynnistettyäsi ruveta suoraan kirjoittamaan. Näet ruudulla koko ajan, miltä teksti näyttää. Joskus, kun koneen kuormitus on suuri, voi kuitenkin kestää muutaman sekunnin, ennenkuin merkki tulee näkyviin, mutta sinun ei tarvitse odottaa sitä vaan voit kirjoittaa hetken aikaa "sokkona".

Perustilassaan Emacs ei jaa tekstiä riveiksi, vaan sinun on tehtävä se itse painamalla Return-näppäintä rivin lopussa. Jos haluat automaattisen riveiksi jakamisen, katso vinkki kohdasta 10.4. Tyhjiä rivejä saa tekstiin painamalla Returnia monta kertaa peräkkäin.

Kun kuvaruutu tulee täyteen, Emacs automaattisesti siirtää tekstiäsi ylöspäin, t.s. alkuosa menee pois näkyvistä ja ruudun alaosaan tulee tyhjää tilaa.

Jos kirjoitat virheellisen merkin, voit poistaa sen DEL-näppäimellä ja kirjoittaa uuden tilalle.

Kirjoitettuasi tekstin loppuun voit tallettaa sen ja poistua Emacsista, kuten kohdassa 4.2 selostettiin.

Vaikka edellä esitetty riittääkin kaikkein yksinkertaisimpaan käyttöön eli Emacsin käyttöön kirjoituskoneen tapaan, on syytä opetella ainakin muutama yksinkertainen tapa editoida tekstiä.

Emacsin editointi- eli muokkauskäskyt voivat koskea yksittäisiä merkkejä, sanoja, lauseita tai muunlaisia tekstin osia. Niitä käsitellään tämän luvun myöhemmissä osissa. Tässä kuvaamme lyhyesti vain yksinkertaista editointia ja liikkumista tekstissä.

Jos huomaat, että tekstiin on tullut virhe, voit siirtää kursorin kyseiseen kohtaan, tehdä korjauksen ja esim. mennä taas jatkamaan kirjoittamista tekstin loppuun käskyllä M-> (siis painamalla ensin ESC-näppäintä ja kirjoittamalla sitten suurempi kuin -merkin).

Päätteeltä kirjoitettavat tavalliset merkit (muut kuin kontrollimerkit tai muut Emacsin käskyt) menevät kursorin osoittamaan paikkaan, sen merkin eteen, jonka päällä kursori on. Jos siis tekstissäsi on sana kirjottaa, voit korjata sen oikeammaksi viemällä kursorin ensimmäisen t-kirjaimen kohdalle ja painamalla i-näppäintä. Kirjoittamasi merkit menevät vanhan tekstiin väliin, eivät päälle; Emacs siirtää automaattisesti rivin loppuosaa eteenpäin.

Merkkien poisto kuvataan seuraavassa kohdassa. Merkin korvaaminen toisella on helpointa tehdä niin, että poistetaan väärä merkki ja kirjoitetaan samaan kohtaan uusi.

Yksinkertaisimmat kursoria liikuttavat käskyt ilmenevät seuraavasta:


                        C-p, edellinen rivi.

C-b, merkki taaksepäin.                   C-f, merkki eteenpäin.

                        C-n, seuraava rivi.

Englannin kielen sanat previous, next, backward ja forward auttavat muistamaan käskyt.

Useimmiten voi C-p:n, C-n:n, C-b:n ja C-f:n asemesta käyttää myös erityisiä nuolinäppäimiä (nuoli ylös, nuoli alas, nuoli vasemmalle, nuoli oikealle), jotka ovat näppäimistössä erillisenä ryhmänä.

Rivin alkuun pääsee käskyllä C-a ja rivin loppuun C-e:llä.

Monet usein käytettävät käskyt koostuvat yhdestä tai kahdesta kontrollimerkistä. Koska Emacsissa kuitenkin on paljon enemmän toimintoja kuin näin voidaan esittää, suuri osa käskyistä on sellaisia, että ne koostuvat M-x:stä ja käskysanasta tai yhdysviivalla toisiinsa sidotuista sanoista, esim. M-x auto-fill-mode. Tällaiset käskyt lopetetaan painamalla Returnia. Ne ovat usein aika pitkiä, mutta niitä kirjoittaessa voi käyttää ns. tunnistusta TAB-näppäimellä: kirjoitetaan M-x ja käskyn sanallisen osan alku ja painetaan TABia, jolloin Emacs täydentää käskyn kokonaan tai osittain. Jos esimerkiksi kirjoitat M-x au ja painat TABia, tulee käskyriville

M-x auto-

merkiksi osittaisesta tunnistuksesta; kun lopussa on yhdysviiva, on tunnistus vasta osittainen. Jos jatkat kirjoittamalla f:n ja painamalla uudestaan TABia, tunnistus on täydellinen

M-x auto-fill-mode

jolloin voit painaa Returnia ja Emacs suorittaa halutun toimenpiteen.