Ero sivun ”Emacs” versioiden välillä
(→Emacs-sovelluksia: Lisätty tietoa Emacsin paketinhallinnasta ja evil-modesta.) |
(→Komentoja: Paranneltu ulkoasua. Selvennetty ohjetta myös hiukan. Kerrottu myös makroista.) |
||
Rivi 27: | Rivi 27: | ||
== Komentoja == | == Komentoja == | ||
Seuraavassa on listattu joitakin yleiskäyttöisiä komentoja. Joidenkin merkitys muuttuu kulloinkin käytössä olevan moodin mukaan, ja voivatpa moodit määrittää myös omia näppäinkomentoja. Esimerkiksi [[Vi]]-editorin emulointiin on olemassa | Seuraavassa on listattu joitakin yleiskäyttöisiä komentoja. Joidenkin merkitys muuttuu kulloinkin käytössä olevan moodin mukaan, ja voivatpa moodit määrittää myös omia näppäinkomentoja. Esimerkiksi [[Vi]]-editorin emulointiin on olemassa ainakin peräti kolme moodia, joista käytetyin lienee olevan '''evil'''-moodi. Näppäinkomennot, kuten monet muutkin asiat Emacsissä, voi mukauttaa mieleisekseen. | ||
Seuraavassa luettelossa '''C''' tarkoittaa | Seuraavassa luettelossa '''C''' tarkoittaa näppäintä {{näppäin|Ctrl}} ja '''M''' Meta-näppäintä, joka on yleensä {{näppäin|Alt}}, mutta {{näppäin|Esc}}-näppäin toimii myös. | ||
===Tiedostossa liikkuminen=== | ===Tiedostossa liikkuminen=== | ||
Seuraavat komennot liikuttavat osoitinta puskurin sisällä. | Seuraavat komennot liikuttavat osoitinta puskurin (eng. ''buffer'') sisällä. Puskuri on väliaikainen paikka tekstille ja muulle tiedolle. Puskurin sisältämä tieto voidaan käyttäjän halutessa tallentaa tiedostoon (esimerkiksi näppäinkomennolla '''C-x C-s'''). | ||
{| | {| | ||
|'''C-p''' | |'''C-p''' | ||
Rivi 69: | Rivi 69: | ||
=== Tekstin poistaminen, palauttaminen ja valinta === | === Tekstin poistaminen, palauttaminen ja valinta === | ||
Emacsissä tekstin valinta tapahtuu asettamalla merkki ja liikuttamalla kursoria. Valinta on merkin ja kursorin väliin jäävä alue. | Emacsissä tekstin valinta tapahtuu asettamalla merkki (eng. ''point'') ja liikuttamalla kursoria. Valinta on merkin ja kursorin väliin jäävä alue. | ||
Kopiointi ja leikkaaminen laittavat tekstin Emacsin omaan rengaspuskuriin, jossa aiemmin leikatut ja kopioidut tekstinpätkät ovat (tätä kutsutaan englanniksi käsitteellä ''kill ring''). | |||
{| | {| | ||
|'''C-välilyönti''' | |'''C-välilyönti''' | ||
Rivi 87: | Rivi 88: | ||
|- | |- | ||
|'''C-k''' | |'''C-k''' | ||
|Leikkaa rivin loppu | |Leikkaa (eng. ''kill'') tekstiä rivin loppu | ||
|'''M-k''' | |'''M-k''' | ||
|Leikkaa lauseen loppu | |Leikkaa lauseen loppu | ||
Rivi 97: | Rivi 98: | ||
|- | |- | ||
|'''C-y''' | |'''C-y''' | ||
|Liitä | |Liitä (eng. ''yank'') | ||
|'''M-y''' | |'''M-y''' | ||
|Korvaa edellinen liitos vanhemmalla leikkauksella | |Korvaa edellinen liitos vanhemmalla leikkauksella | ||
Rivi 121: | Rivi 122: | ||
|'''C-x C-f''' | |'''C-x C-f''' | ||
|Avaa tiedosto | |Avaa tiedosto | ||
|- | |||
|'''C-x C-s''' | |'''C-x C-s''' | ||
|Tallenna tiedosto | |Tallenna tiedosto | ||
|- | |||
|'''C-x C-w''' | |'''C-x C-w''' | ||
|Tallenna tiedosto nimellä | |Tallenna tiedosto nimellä | ||
|- | |||
|'''C-x s''' | |'''C-x s''' | ||
|Tallenna kaikki tiedostot | |Tallenna kaikki tiedostot | ||
Rivi 134: | Rivi 138: | ||
|Listaa puskurit | |Listaa puskurit | ||
|'''C-x k''' | |'''C-x k''' | ||
|Tuhoa puskuri | |Tuhoa (eng. ''kill'') puskuri | ||
|- | |- | ||
|'''C-x 0''' | |'''C-x 0''' | ||
|Piilota aktiivinen ikkuna | |Piilota aktiivinen ikkuna | ||
|'''C-x 1''' | |'''C-x 1''' | ||
| | |Piilota muut ikkunat, paitsi aktiivinen ikkuna | ||
|- | |- | ||
|'''C-x 2''' | |'''C-x 2''' | ||
| | |Jaa ikkuna pystysuunnassa | ||
|'''C-x 3''' | |'''C-x 3''' | ||
| | |Jaa ikkuna leveyssuunnassa | ||
|- | |- | ||
|'''C-x o''' | |'''C-x o''' | ||
Rivi 180: | Rivi 184: | ||
|'''F10''' | |'''F10''' | ||
|Siirry valikkoon | |Siirry valikkoon | ||
|- | |||
|'''M-x''' | |||
|Suorita Emacsin komento antamalla sen nimi | |||
|} | |||
==== Makrot ==== | |||
Emacsissa voi nauhoittaa näppäimistömakroja helposti. | |||
Huomaa, että tämä opas sisältää vain Emacsin peruskäytön, ja Emacsissa on esimerkiksi makroihin liittyviä toimintoja enemmän kuin mitä tässä oppaassa voidaan opettaa. | |||
{| | |||
|'''F3''' | |||
|Aloita uuden makron nauhoittaminen. Mutta jos makron nauhoittaminen on käynnissä, syötä puskuriin uusi juoksevanumero. | |||
|- | |||
|'''F4''' | |||
|Jos makroa nauhoitetaan parhaillaa, lopeta ko. makron nauhoittaminen. Mutta jos makroa ei parhaillaan nauhoteta, viimeisin makro toistetaan aktiivisessa puskurissa. | |||
|} | |} | ||
Versio 31. maaliskuuta 2025 kello 11.53
GNU Emacs | |
---|---|
![]() | |
![]() | |
Tekijä(t) | |
Ensijulkaisu | 1976 |
Vakaa versio | 28.1 / 4. huhtikuuta 2022 |
Ohjelmoitu | Emacs Lisp, Roff, C |
Käyttöliittymä | komentorivi |
Tyyppi | käyttöympäristö |
Lisenssi | GPL |
Kotisivu | gnu.org/software/emacs |
Lähdekoodi |
Tässä artikkelissa kerrotaan yleisesti ohjelmasta Emacs. Opas Emacsin peruskäyttöön löytyy artikkelista Emacsin peruskäyttö.
GNU Emacs, yleensä vain Emacs on monipuolinen ja mukautettava tekstieditori ja yleinen käyttöympäristö. Emacsin ensimmäisen version kirjoitti Richard Stallman vuonna 1976. Emacsia voi laajentaa Emacs Lisp -kielellä, jolla on toteutettu jopa mediasoitinten ja www-selainten kaltaisia sovelluksia. GNU Emacsista haarautui (fork) vuonna 1991 XEmacs, jossa oli aikoinaan mm. edistyksellisempi graafinen käyttöliittymä. Nykyään XEmacsin kehitys on jäänyt jälkeen GNU Emacsista.
Emacs on todella laaja ohjelma. Sen mukana tulee mm. sähköpostiohjelma (Gnus, RMail), uutisryhmälukija (Gnus), monipuolinen kalenteri, laskin ja pelejä (löytyy Tools-valikosta). Usein vitsaillaankin, että Emacs on hyvä käyttöjärjestelmä, jossa on huono tekstieditori.
Komentoja
Seuraavassa on listattu joitakin yleiskäyttöisiä komentoja. Joidenkin merkitys muuttuu kulloinkin käytössä olevan moodin mukaan, ja voivatpa moodit määrittää myös omia näppäinkomentoja. Esimerkiksi Vi-editorin emulointiin on olemassa ainakin peräti kolme moodia, joista käytetyin lienee olevan evil-moodi. Näppäinkomennot, kuten monet muutkin asiat Emacsissä, voi mukauttaa mieleisekseen.
Seuraavassa luettelossa C tarkoittaa näppäintä Ctrl ja M Meta-näppäintä, joka on yleensä Alt, mutta Esc-näppäin toimii myös.
Tiedostossa liikkuminen
Seuraavat komennot liikuttavat osoitinta puskurin (eng. buffer) sisällä. Puskuri on väliaikainen paikka tekstille ja muulle tiedolle. Puskurin sisältämä tieto voidaan käyttäjän halutessa tallentaa tiedostoon (esimerkiksi näppäinkomennolla C-x C-s).
C-p | rivi ylöspäin | C-n | rivi alaspäin | ||||
C-f | merkki eteenpäin | C-b | merkki taaksepäin | M-f | sana eteenpäin | M-b | sana taaksepäin |
C-a | rivin alkuun | C-e | rivin loppuun | M-a | lauseen alkuun | M-e | lauseen loppuun |
C-v | ruudullinen eteenpäin | M-v | ruudullinen taaksepäin | ||||
M-> | puskurin loppuun | M-< | puskurin alkuun |
Tekstin poistaminen, palauttaminen ja valinta
Emacsissä tekstin valinta tapahtuu asettamalla merkki (eng. point) ja liikuttamalla kursoria. Valinta on merkin ja kursorin väliin jäävä alue. Kopiointi ja leikkaaminen laittavat tekstin Emacsin omaan rengaspuskuriin, jossa aiemmin leikatut ja kopioidut tekstinpätkät ovat (tätä kutsutaan englanniksi käsitteellä kill ring).
C-välilyönti | Aseta merkki | C-x C-x | Vaihda merkin ja kursorin paikat keskenään. |
askelpalautin | Poista edellinen merkki | M-askelpalautin | Leikkaa edeltävä sana |
C-d | Poista seuraava merkki | M-d | Leikkaa seuraava sana |
C-k | Leikkaa (eng. kill) tekstiä rivin loppu | M-k | Leikkaa lauseen loppu |
C-w | Leikkaa valinta | M-w | Kopioi valinta |
C-y | Liitä (eng. yank) | M-y | Korvaa edellinen liitos vanhemmalla leikkauksella |
C-_ | Kumoa edellinen muokkaus |
Etsi ja korvaa
Seuraavat komennot etsivät merkkijonoa puskurista.
C-s | Etsi eteenpäin | C-r | Etsi taaksepäin |
M-% | Etsi ja korvaa |
Tiedostot
C-x C-f | Avaa tiedosto |
C-x C-s | Tallenna tiedosto |
C-x C-w | Tallenna tiedosto nimellä |
C-x s | Tallenna kaikki tiedostot |
Puskurit ja ikkunat
C-x C-b | Listaa puskurit | C-x k | Tuhoa (eng. kill) puskuri |
C-x 0 | Piilota aktiivinen ikkuna | C-x 1 | Piilota muut ikkunat, paitsi aktiivinen ikkuna |
C-x 2 | Jaa ikkuna pystysuunnassa | C-x 3 | Jaa ikkuna leveyssuunnassa |
C-x o | Siirry seuraavaan ikkunaan | C-x b | Vaihda ikkunan puskuria |
Apukomennot
C-h ? | Näytä lista aputoiminnoista | C-h t | Aloita interaktiivinen opas |
C-h r | Lue Emacsin manuaalia | C-h m | Näytä aktiivisten pää- ja sivutilojen dokumentaatio ja näppäinkomennot |
Muuta
C-u numero | Toista seuraava komento n kertaa | C-g | Keskeytä komento |
C-x C-c | Lopeta Emacsin käyttö | C-z | Poistu tilapäisesti (paluu komennolla fg) |
F10 | Siirry valikkoon | ||
M-x | Suorita Emacsin komento antamalla sen nimi |
Makrot
Emacsissa voi nauhoittaa näppäimistömakroja helposti. Huomaa, että tämä opas sisältää vain Emacsin peruskäytön, ja Emacsissa on esimerkiksi makroihin liittyviä toimintoja enemmän kuin mitä tässä oppaassa voidaan opettaa.
F3 | Aloita uuden makron nauhoittaminen. Mutta jos makron nauhoittaminen on käynnissä, syötä puskuriin uusi juoksevanumero. |
F4 | Jos makroa nauhoitetaan parhaillaa, lopeta ko. makron nauhoittaminen. Mutta jos makroa ei parhaillaan nauhoteta, viimeisin makro toistetaan aktiivisessa puskurissa. |
Emacs-sovelluksia
Emacs sisältää hyvin laajalti erilaisia ohjelmia. Seuraavassa listataan niistä muutamia. Useimmat käynnistyvät joko komennolla M-x ohjelma, tai käynnistyvät automaattisesti esim. lähdekooditiedostoa avattaessa. Lisää paketteja (sovelluksia) voi asentaa Emacsin omalla paketinhallintajärjestelmällä (M-x list-packages), ja sen käyttöohjeen saa tuttuun tapaan näppäilemällä C-h m.
Hakemistomuokkain Dired
Dired on moodi tiedostonhallintaan. Siihen pääsee komennolla C-x d tai avaamalla hakemiston (C-x C-f hakemisto). Tällöin Dired luo puskurin, jossa hakemiston tiedostot ovat listattuna ls -l -komennon tavoin. Puskurin voi myös luoda find-komennon hakutuloksista komennolla M-x find-dired. Tavallisiin tiedosto-operaatiohin, kuten siirtoon, kopiointiin, poistamiseen, pakkaamiseen, salaamiseen ja niiden omistajan, oikeuksien, nimen muuttamiseen löytyy omat komentonsa. Mikäli nämä eivät riitä, voi komennolla ! suorittaa kuorikomennon valituille tiedostoille.
Image-dired mahdollistaa kuvien selaamisen joko pikkukuvina tai täydessä koossaan. Komento C-t d luo merkityistä tiedostoista pikkukuvat ja näyttää ne omassa puskurissaan.
Kalenteri ja päiväkirja
- calendar on Emacsin kalenteri. Se tuntee lukuisia kalenterijärjestelmiä, pystyy laskemaan auringonnousun ja -laskun ajankohdat ja kuun vaiheet ja tulostamaan kalentereita LaTeX- tai Html-muodossa. Kalenterissa liikkuminen sujuu pitkälti aivan tavallisilla siirtymiskomennoilla, kuten C-p, M-a ja vastaavat. Ohessa on malli, jota soveltamalla Emacsin kalenteri kotoistuu. Sen voi liittää sopivasti soveltaen esim. /.emacs.d/init.el-tiedostoon.
(setq calendar-latitude [62 25 north] calendar-longitude [25 75 east] calendar-location-name "Jyväskylä" calendar-week-start-day '1 european-calendar-style 't)
Kuoria
Yksittäisiä kuorikomentoja voi suorittaa komennolla M-!. Numeerisella argumentilla, esim. C-u M-! kuorikomennon tuloste kirjoitetaan nykyiseen puskuriin. M-| taas käyttää valintaa komennon standardisyötteenä. Jos nämä eivät riitä vaan tarvitaan interaktiivinen komentokuori-istunto, löytyy Emacsistä seuraavat sovellukset:
- shell on yksinkertainen, mutta "tyhmä" kuori.
- ansi-term ja term käynnistävät "älykkään" kuoren, jolla voi käyttää Ncurses-sovelluksia, kuten vaikkapa Nethackia. Tämä mahdollistaa järkevän editorin, kuten Vimin, käytön Emacsissä (jos oikeasti haluaa käyttää Vimin kaltaisia näppäinkomentoja Emacsissa, on suositeltavaa asentaa evil-mode.).
- eshell on kokonaan elispillä ohjelmoitu kuori, joka on shelliä "tyhmempi".
IRC-asiakasohjelmia
- ERC
- rcirc
Org
Org kuuluu siihen harvalukuiseen sovellusten joukkoon, joiden käyttö on helpompaa kuin niiden kuvaaminen lyhyesti ja täsmällisesti. Ainakin se on Emacsin oma moodi muistiinpanojen ja todo-listojen kirjoittamiseen, projektinhallintaan ja dokumenttien laadintaan. Sitä voi käyttää esimerkiksi henkilökohtaisen Wikin tapaan. Orgilla kirjoitetut dokumentit voi viedä esimerkiksi html-sivuiksi, LaTeX-, pdf- tai odt-tiedostoiksi.
Ominaisuuksista voidaan mainita mm. deadlinet, aikaleimat, taulukkolaskenta, hypertekstilinkit tiedostoihin sekä verkkoon ja literate programming -ympäristö.
Lyhyt johdatus Org-moodin käyttöön on esimerkiksi tämä David O'Toolen tutoriaali.
TRAMP
TRAMP (suomeksi 'kulkuri') eli Transparent Remote Access, Multiple Protocol tuo etätiedostojen muokkauskyvyn Emacsiin. Se tukee ssh-, rsh-, telnet-protokollia.
Katso myös
Aiheesta muualla
- Emacsin kotisivusto
- Emacs-wiki
- Emacs suomenkielisessä Wikipediassa
- Emacs englanninkielisessä Wikipediassa
Emacs-oppaita
- Aalto-yliopiston Emacs-opas
- Jukka Korpelan Emacs-opas
- Emacsin manuaali verkossa
- Emacs Lisp opas
- Emacs Rocks! -videosarja
![]() |