Nykyinen versio |
Oma tekstisi |
Rivi 1: |
Rivi 1: |
| {{Ohjelma
| | ''Tässä artikkelissa kerrotaan yleisesti ohjelmasta Emacs. Opas Emacsin peruskäyttöön löytyy artikkelista [[Emacsin peruskäyttö]]''. |
| | 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ö}} | | {{Ohjelma | nimi=Emacs | kuva=[[Kuva:Emacs-logo.png|150px]] | kuvateksti= | lisenssi=[[GPL]] | kotisivu=[http://www.gnu.org/software/emacs/ gnu.org/software/emacs] | käyttöliittymä=[[X]] tai teksti}} |
|
| |
|
| '''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.
| | GNU Emacs on monipuolinen ja mukautettava [[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]], 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. | | 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 == | | == 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=== | | ===Tiedostossa liikkuminen=== |
| Seuraavat komennot liikuttavat osoitinta puskurin sisällä. | | Seuraavat komennot liikuttavat osoitinta puskurin sisällä. |
Rivi 105: |
Rivi 82: |
| |} | | |} |
|
| |
|
| === Etsi ja korvaa === | | ===Etsi ja korvaa === |
| Seuraavat komennot etsivät merkkijonoa puskurista. | | Seuraavat komennot etsivät merkkijonoa puskurista. |
| {| | | {| |
Rivi 121: |
Rivi 98: |
| |'''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 uudella nimellä |
| | |- |
| |'''C-x s''' | | |'''C-x s''' |
| |Tallenna kaikki tiedostot | | |Tallenna kaikki tiedostot |
| |} | | |} |
|
| |
|
| === Puskurit ja ikkunat === | | === Puskurit === |
| {| | | {| |
| | |'''C-x b''' |
| | |Vaihda ikkunan puskuria |
| | |- |
| |'''C-x C-b''' | | |'''C-x C-b''' |
| |Listaa puskurit | | |Listaa puskurit |
| | |- |
| |'''C-x k''' | | |'''C-x k''' |
| |Tuhoa puskuri | | |Tuhoa puskuri |
| | |} |
| | |
| | === Ikkunat === |
| | {| |
| | |'''C-x 2''' |
| | |Jaa ikkuna kahdeksi pystysuunnassa |
| | |- |
| | |'''C-x 3''' |
| | |Jaa ikkuna kahdeksi leveyssuunnassa |
| |- | | |- |
| |'''C-x 0''' | | |'''C-x 0''' |
| |Piilota aktiivinen ikkuna | | |Piilota aktiivinen ikkuna |
| | |- |
| |'''C-x 1''' | | |'''C-x 1''' |
| |Suurenna aktiivinen ikkuna | | |Suurenna aktiivinen ikkuna |
| |-
| |
| |'''C-x 2'''
| |
| |Kahdenna ikkuna pystysuunnassa
| |
| |'''C-x 3'''
| |
| |Kahdenna ikkuna leveyssuunnassa
| |
| |- | | |- |
| |'''C-x o''' | | |'''C-x o''' |
| |Siirry seuraavaan ikkunaan | | |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
| |
| |} | | |} |
|
| |
|
Rivi 181: |
Rivi 154: |
| |Siirry valikkoon | | |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]] | | *[[Joe]] |
| *[[Vi]] | | *[[Vi]] |
| | *[[Vimin peruskäyttö]] |
| | *[[Emacsin peruskäyttö]] |
|
| |
|
| ==Aiheesta muualla== | | ==Aiheesta muualla== |
| *[http://www.gnu.org/software/emacs/ Emacsin kotisivusto] | | *[https://wiki.aalto.fi/display/unixaapinen/Emacs-tekstieditori Aalto-yliopiston Emacs-opas] |
| *[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]] |
| | *[http://www.gnu.org/software/emacs/ Emacsin kotisivusto] |
|
| |
|
| === 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:Uutisryhmälukijat]] |
| [[Luokka:Sähköpostiohjelmat]] | | [[Luokka:Sähköpostiohjelmat]] |
|
| |
| [[pl:Emacs]]
| |