Ero sivun ”Emacs” versioiden välillä

Siirry navigaatioon Siirry hakuun
5 309 merkkiä lisätty ,  7. huhtikuuta 2022
p
Ohjelma mallineen päivitys + uudet tiedot
p (kh)
p (Ohjelma mallineen päivitys + uudet tiedot)
 
(37 välissä olevaa versiota 8 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 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, [[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ä.
{|
{|
|C-p
|'''C-p'''
|Siirry rivi ylöspäin
|rivi ylöspäin
|-
|'''C-n'''
|C-n
|rivi alaspäin
|Siirry rivi alaspäin
|-
|C-f
|Siirry merkki eteenpäin
|-
|C-b
|Siirry merkki taaksepäin
|-
|M-f
|Siirry sana eteenpäin
|-
|M-b
|Siirry sana taaksepäin
|-
|-
|C-v
|'''C-f'''
|Sirry ruudullinen eteenpäin
|merkki eteenpäin
|'''C-b'''
|merkki taaksepäin
|'''M-f'''
|sana eteenpäin
|'''M-b'''
|sana taaksepäin
|-
|-
|M-v
|'''C-a'''
|Siirry ruudullinen taaksepäin
|rivin alkuun
|'''C-e'''
|rivin loppuun
|'''M-a'''
|lauseen alkuun
|'''M-e'''
|lauseen loppuun
|-
|-
|M->
|'''C-v'''
|Siirry puskurin loppuun
|ruudullinen eteenpäin
|'''M-v'''
|ruudullinen taaksepäin
|-
|-
|M-<
|'''M->'''
|Siirry puskurin alkuun
|puskurin loppuun
|'''M-<'''
|puskurin alkuun
|}
|}


=== Poistaminen ja palauttaminen ===
=== Tekstin poistaminen, palauttaminen ja valinta ===
Emacsissä tekstin valinta tapahtuu asettamalla merkki ja liikuttamalla kursoria. Valinta on merkin ja kursorin väliin jäävä alue.
{|
{|
|M-d
|'''C-välilyönti'''
|Poista seuraava sana
|Aseta merkki
|'''C-x C-x'''
|Vaihda merkin ja kursorin paikat keskenään.
|-
|'''askelpalautin'''
|Poista edellinen merkki
|'''M-askelpalautin'''
|Leikkaa edeltävä sana
|-
|-
|C-k
|'''C-d'''
|Poista rivin loppu
|Poista seuraava merkki
|'''M-d'''
|Leikkaa seuraava sana
|-
|-
|C-w
|'''C-k'''
|Poista merkitty alue
|Leikkaa rivin loppu
|'''M-k'''
|Leikkaa lauseen loppu
|-
|-
|C-y
|'''C-w'''
|Palauta poisto
|Leikkaa valinta
|'''M-w'''
|Kopioi valinta
|-
|-
|M-y
|'''C-y'''
|Vaihda palautus vanhempaan poistoon
|Liitä
|'''M-y'''
|Korvaa edellinen liitos vanhemmalla leikkauksella
|-
|-
|C-_
|'''C-_'''
|Kumoa edellinen muokkaus
|Kumoa edellinen muokkaus
|}
|}


===Etsi ja korvaa ===
=== Etsi ja korvaa ===
Seuraavat komennot etsivät merkkijonoa puskurista.
{|
{|
|C-s
|'''C-s'''
|Etsi merkkijonoa
|Etsi eteenpäin
|'''C-r'''
|Etsi taaksepäin
|-
|-
|C-r
|'''M-%'''
|Etsi merkkijonoa lopusta alkuun
|Etsi ja korvaa
|-
|M-%
|Etsi ja korvaa merkkijono
|}
|}


=== Tiedostot ===
=== Tiedostot ===
{|
{|
|C-x C-s
|'''C-x C-f'''
|Avaa tiedosto
|'''C-x C-s'''
|Tallenna tiedosto
|Tallenna tiedosto
|-
|'''C-x C-w'''
|C-x s
|Tallenna tiedosto nimellä
|'''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 ===
=== Puskurit ja ikkunat ===
{|
{|
|C-x b
|'''C-x C-b'''
|Vaihda ikkunan puskuria
|-
|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'''
|Suurenna aktiivinen ikkuna
|-
|-
|C-x 1
|'''C-x 2'''
|Suurenna aktiivinen ikkuna
|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
|-
|}
|}


=== Alueet ===
=== Apukomennot ===
{|
{|
|C-@
|'''C-h ?'''
|Aseta merkki
|Näytä lista aputoiminnoista
|-
|'''C-h t'''
|C-w
|Aloita interaktiivinen opas
|Poista alue
|-
|M-w
|Kopioi alue
|-
|C-y
|Liitä
|-
|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
|'''C-h r'''
|Valitse koko puskuri
|Lue Emacsin manuaalia
|'''C-h m'''
|Näytä aktiivisten pää- ja sivutilojen dokumentaatio ja näppäinkomennot
|}
|}


=== Muuta ===
=== Muuta ===
{|
{|
|C-x C-c
|'''C-u numero'''
|Toista seuraava komento n kertaa
|'''C-g'''
|Keskeytä komento
|-
|'''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
|'''F10'''
|Toista seuraavaa komentoa
|-
|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]]
*[[Vi]]
*[[Vi]]
*[[Vimin peruskäyttö]]
*[[Emacsin peruskäyttö]]


==Aiheesta muualla==
==Aiheesta muualla==
*[http://www.tkk.fi/atk/oppaat/emacs/index.html TKK:n Emacs-opas]
*[http://www.gnu.org/software/emacs/ Emacsin kotisivusto]
*[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://wiki.imbumba.se/index.php/Emacs Laaja ruotsinkielinen Emacs-opas]


=== 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]]
10 147

muokkausta

Navigointivalikko