Nykyinen versio |
Oma tekstisi |
Rivi 1: |
Rivi 1: |
| {{Ohjelma
| | GNU Emacs on monipuolinen ja muokautettava [[tekstieditori]] ja yleinen käyttöympäristö. GNU Emacsin kehityksen aloitti [[Richard Stallman]] ([[RMS]]) vuonna 1984, joskin ensimmäiset Emacs-sukuiset editorit syntyivät jo 70-luvulla. Emacsia voi laajentaa [[Emacs Lisp]] -kielellä, jolla on toteutettu jopa mediasoitinten ja www-selainten kaltaisia sovelluksia. GNU Emacsista haarautui ([[fork]]) vuonna 1991 [[XEmacs]], jota on kehitetty erityisesti [[X Window System|X]]-käyttöä silmälläpitäen. |
| | nimi = GNU Emacs
| |
| | logo = [[Tiedosto:Emacs-logo.png|150px]]
| |
| | kuva = [[Tiedosto:Emacs.png|250px]]
| |
| | kuvateksti =
| |
| | tekijä = <li>[[Richard Stallman]]</li><li>[[Free Software Foundation]]</li>
| |
| | kehittäjä =
| |
| | moottori =
| |
| | ensijulkaisu = 1976
| |
| | vakaaversio = 28.1
| |
| | vakaapvm = 4. huhtikuuta 2022
| |
| | kehitysversio =
| |
| | kehityspvm =
| |
| | ohjelmoitu = [[Emacs Lisp]], [[Roff]], [[C]]
| |
| | käyttöliittymä = [[komentorivi]]
| |
| | tyyppi = käyttöympäristö
| |
| | lisenssi = [[GPL]]
| |
| | kotisivu = [https://www.gnu.org/software/emacs/ gnu.org/software/emacs]
| |
| | lähdekoodi = <li>[https://ftp.gnu.org/gnu/emacs/ ftp.gnu.org/gnu/emacs/]</li><li>[https://github.com/emacs-mirror/emacs github.com/emacs-mirror/emacs]</li>
| |
| }}
| |
| | |
| {{Ohje|Emacsin peruskäyttöön|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öposti]]ohjelma (Gnus, RMail), [[uutisryhmä]]lukija (Gnus), monipuolinen kalenteri, laskin ja pelejä (löytyy <tt>Tools</tt>-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 vakiona peräti kolme moodia. Näppäinkomennot, kuten monet muutkin asiat Emacsissä, voi mukauttaa mieleisekseen.
| |
| | |
| Seuraavassa luettelossa '''C''' tarkoittaa Control-näppäintä 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 sisällä.
| |
| {|
| |
| |'''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 ja liikuttamalla kursoria. Valinta on merkin ja kursorin väliin jäävä alue.
| |
| {|
| |
| |'''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 rivin loppu
| |
| |'''M-k'''
| |
| |Leikkaa lauseen loppu
| |
| |-
| |
| |'''C-w'''
| |
| |Leikkaa valinta
| |
| |'''M-w'''
| |
| |Kopioi valinta
| |
| |-
| |
| |'''C-y'''
| |
| |Liitä
| |
| |'''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 puskuri
| |
| |-
| |
| |'''C-x 0'''
| |
| |Piilota aktiivinen ikkuna
| |
| |'''C-x 1'''
| |
| |Suurenna aktiivinen ikkuna
| |
| |-
| |
| |'''C-x 2'''
| |
| |Kahdenna ikkuna pystysuunnassa
| |
| |'''C-x 3'''
| |
| |Kahdenna 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
| |
| |}
| |
| | |
| == 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.
| |
| | |
| === 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|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.
| |
| <tt>
| |
| (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)
| |
| </tt>
| |
| | |
| === 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ä.
| |
| * '''eshell''' on kokonaan elispillä ohjelmoitu kuori, joka on shelliä "tyhmempi".
| |
| | |
| === IRC-asiakasohjelmia ===
| |
| * '''ERC'''
| |
| * '''rcirc'''
| |
| | |
| === Org ===
| |
| | |
| [http://orgmode.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 [http://orgmode.org/worg/org-tutorials/orgtutorial_dto.html 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== | | ==Katso myös== |
|
| |
| *[[Emacsin peruskäyttö]]
| |
| *[[Joe]]
| |
| *[[Vi]] | | *[[Vi]] |
|
| |
|
| ==Aiheesta muualla== | | == Linkkejä == |
| *[http://www.gnu.org/software/emacs/ Emacsin kotisivusto] | | * [http://www.gnu.org/software/emacs/ GNU Emacsin virallinen kotisivu] |
| *[http://www.emacswiki.org/cgi-bin/wiki Emacs-wiki] | | * [http://www.emacswiki.org/cgi-bin/wiki Emacs-wiki] |
| *[[wikipedia:fi:Emacs|Emacs suomenkielisessä Wikipediassa]] | | *[[wikipedia:fi:Emacs|Emacs suomenkielisessä Wikipediassa]] |
| *[[wikipedia:Emacs|Emacs englanninkielisessä Wikipediassa]] | | *[[wikipedia:Emacs|Emacs englanninkielisessä Wikipediassa]] |
|
| |
|
| === Emacs-oppaita ===
| |
| *[https://wiki.aalto.fi/display/unixaapinen/Emacs-tekstieditori Aalto-yliopiston Emacs-opas]
| |
| *[http://www.cs.tut.fi/~jkorpela/emacs/ Jukka Korpelan Emacs-opas]
| |
| *[http://www.gnu.org/software/emacs/manual/emacs.html Emacsin manuaali verkossa]
| |
|
| |
| {{Kehitysympäristöt}}
| |
| [[Luokka:Tekstieditorit]] | | [[Luokka:Tekstieditorit]] |
| [[Luokka:Kehitystyökalut]] | | [[Luokka:Kehitystyökalut]] |
| [[Luokka:Uutisryhmälukijat]]
| |
| [[Luokka:Sähköpostiohjelmat]]
| |
|
| |
| [[pl:Emacs]]
| |