Muokataan sivua Emacs

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

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 68: Rivi 45:
|}
|}


=== Tekstin poistaminen, palauttaminen ja valinta ===
=== Poistaminen ja palauttaminen ===
Emacsissä tekstin valinta tapahtuu asettamalla merkki ja liikuttamalla kursoria. Valinta on merkin ja kursorin väliin jäävä alue.
{|
{|
|'''C-välilyönti'''
|'''C-_'''
|Aseta merkki
|Kumoa edellinen muokkaus
|'''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'''
|'''M-d'''
|Leikkaa seuraava sana
|Poista seuraava sana
|-
|-
|'''C-k'''
|'''C-k'''
|Leikkaa rivin loppu
|Leikkaa rivin loppu
|'''M-k'''
|Leikkaa lauseen loppu
|-
|-
|'''C-w'''
|'''C-w'''
|Leikkaa valinta
|Leikkaa merkitty alue
|'''M-w'''
|Kopioi valinta
|-
|-
|'''C-y'''
|'''C-y'''
|Liitä
|Liitä
|-
|'''M-y'''
|'''M-y'''
|Korvaa edellinen liitos vanhemmalla leikkauksella
|Korvaa edellinen liitos vanhemmalla leikkauksella
|-
|'''C-_'''
|Kumoa edellinen muokkaus
|}
|}


=== Etsi ja korvaa ===
===Etsi ja korvaa ===
Seuraavat komennot etsivät merkkijonoa puskurista.
Seuraavat komennot etsivät merkkijonoa puskurista.
{|
{|
Rivi 119: Rivi 80:
=== Tiedostot ===
=== Tiedostot ===
{|
{|
|'''C-x C-f'''
|Avaa tiedosto
|'''C-x C-s'''
|'''C-x C-s'''
|Tallenna tiedosto
|Tallenna tiedosto
|'''C-x C-w'''
|-
|Tallenna tiedosto nimellä
|'''C-x s'''
|'''C-x s'''
|Tallenna kaikki tiedostot
|Tallenna kaikki tiedostot
|-
|'''C-x C-w'''
|Tallenna tiedosto uudella nimellä
|-
|'''C-x C-f'''
|Avaa tiedosto uuteen puskuriin
|-
|'''C-x 4 C-f'''
|Avaa tiedosto uuteen puskuriin ja ikkunaan
|-
|'''C-x C-v'''
|Avaa tiedosto nykyisen puskurin tilalle
|-
|'''C-x i'''
|Lisää tiedoston sisältö puskuriin kursorin kohdalle
|}
|}


=== 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 ===
=== Alueet ===
{|
{|
|'''C-h ?'''
|'''C-@'''
|Näytä lista aputoiminnoista
|Aseta merkki
|'''C-h t'''
|-
|Aloita interaktiivinen opas
|'''C-w'''
|Poista alue
|-
|'''M-w'''
|Kopioi alue
|-
|-
|'''C-h r'''
|'''C-y'''
|Lue Emacsin manuaalia
|Liitä
|'''C-h m'''
|-
|Näytä aktiivisten pää- ja sivutilojen dokumentaatio ja näppäinkomennot
|'''M-h'''
|Merkitse kappale (kursori kappaleen alkuun, merkki loppuun)
|-
|'''C-x C-x'''
|Vaihda merkin ja kursorin paikkaa keskenään (kursori alueen toiseen laitaan)
|-
|'''C-x h'''
|Valitse koko puskuri
|}
|}


=== Muuta ===
=== Muuta ===
{|
{|
|'''C-u numero'''
|Toista seuraava komento n kertaa
|'''C-g'''
|Keskeytä komento
|-
|'''C-x C-c'''
|'''C-x C-c'''
|Lopeta Emacsin käyttö
|Lopeta Emacsin käyttö
|-
|'''C-z'''
|'''C-z'''
|Poistu tilapäisesti (paluu komennolla [[fg]])
|Poistu tilapäisesti (paluu komennolla [[fg]])
|-
|'''M-numero'''
|Toista seuraavaa komentoa
|-
|-
|'''F10'''
|'''F10'''
|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]]
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)

Tämä sivu kuuluu seuraavaan piilotettuun luokkaan:

Noudettu kohteesta ”https://www.linux.fi/wiki/Emacs