Ero sivun ”Emacs” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(Päivitetty ja lisätty linkkejä.)
 
(26 välissä olevaa versiota 5 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
''Tässä artikkelissa kerrotaan yleisesti ohjelmasta Emacs. Opas Emacsin peruskäyttöön löytyy artikkelista [[Emacsin peruskäyttö]]''.
{{Ohjelma
| 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>
}}


{{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}}
{{Ohje|Emacsin peruskäyttöön|Emacsin peruskäyttö}}


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.
'''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.
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 82: Rivi 105:
|}
|}


===Etsi ja korvaa ===
=== Etsi ja korvaa ===
Seuraavat komennot etsivät merkkijonoa puskurista.
Seuraavat komennot etsivät merkkijonoa puskurista.
{|
{|
Rivi 98: Rivi 121:
|'''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 uudella nimellä
|Tallenna tiedosto nimellä
|-
|'''C-x s'''
|'''C-x s'''
|Tallenna kaikki tiedostot
|Tallenna kaikki tiedostot
|}
|}


=== Puskurit ===
=== Puskurit ja ikkunat ===
{|
{|
|'''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 154: Rivi 181:
|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://www.emacswiki.org/emacs/SiteMap Emacs-wiki]
*[[wikipedia:fi:GNU Emacs|Emacs suomenkielisessä Wikipediassa]]
*[[wikipedia:GNU Emacs|Emacs englanninkielisessä Wikipediassa]]
=== Emacs-oppaita ===
*[https://wiki.aalto.fi/display/unixaapinen/Emacs-tekstieditori Aalto-yliopiston Emacs-opas]
*[https://wiki.aalto.fi/display/unixaapinen/Emacs-tekstieditori Aalto-yliopiston Emacs-opas]
*[http://www.emacswiki.org/cgi-bin/wiki Emacs-wiki]
*[http://www.cs.tut.fi/~jkorpela/emacs/ Jukka Korpelan Emacs-opas]
*[[wikipedia:fi:Emacs|Emacs suomenkielisessä Wikipediassa]]
*[http://www.gnu.org/software/emacs/manual/emacs.html Emacsin manuaali verkossa]
*[[wikipedia:Emacs|Emacs englanninkielisessä Wikipediassa]]
*[https://www.gnu.org/software/emacs/manual/html_node/eintr/index.html Emacs Lisp opas]
*[http://www.gnu.org/software/emacs/ Emacsin kotisivusto]
*[https://emacsrocks.com/ Emacs Rocks! -videosarja]


{{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]]

Nykyinen versio 2. heinäkuuta 2024 kello 10.15

GNU Emacs


Tekijä(t)
  • Richard Stallman
  • Free Software Foundation
  • 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
  • ftp.gnu.org/gnu/emacs/
  • github.com/emacs-mirror/emacs
  • 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[muokkaa]

    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[muokkaa]

    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[muokkaa]

    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[muokkaa]

    Seuraavat komennot etsivät merkkijonoa puskurista.

    C-s Etsi eteenpäin C-r Etsi taaksepäin
    M-% Etsi ja korvaa

    Tiedostot[muokkaa]

    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[muokkaa]

    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[muokkaa]

    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[muokkaa]

    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[muokkaa]

    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[muokkaa]

    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[muokkaa]

    • 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[muokkaa]

    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[muokkaa]

    • ERC
    • rcirc

    Org[muokkaa]

    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[muokkaa]

    TRAMP (suomeksi 'kulkuri') eli Transparent Remote Access, Multiple Protocol tuo etätiedostojen muokkauskyvyn Emacsiin. Se tukee ssh-, rsh-, telnet-protokollia.

    Katso myös[muokkaa]

    Aiheesta muualla[muokkaa]

    Emacs-oppaita[muokkaa]

    v  k  m
    Kehitysympäristöt
    Perinteiset Komentorivi | Tekstieditorit | Vim | Emacs
    GNOME Anjuta
    KDE KDevelop
    JAVA Borland JBuilder | EclipseNetBeans
    muut Geany | JeditLazarus
    web ElectronBluefish