Ero sivun ”Emacs” versioiden välillä
(→Komentoja: Puskurit ja ikkunat liittyvät niin läheisesti toisiinsa, että ne sopivat paremmin yhteen.) |
(Päivitetty ja lisätty linkkejä.) |
||
(24 välissä olevaa versiota 5 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
{{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> | |||
}} | |||
{{ | {{Ohje|Emacsin peruskäyttöön|Emacsin peruskäyttö}} | ||
GNU Emacs on monipuolinen ja mukautettava [[tekstieditori]] ja yleinen käyttöympäristö. | '''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 | |Tallenna tiedosto nimellä | ||
|'''C-x s''' | |'''C-x s''' | ||
|Tallenna kaikki tiedostot | |Tallenna kaikki tiedostot | ||
Rivi 131: | Rivi 151: | ||
|Vaihda ikkunan puskuria | |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 148: | 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ö]] | *[[Emacsin peruskäyttö]] | ||
*[[Joe]] | *[[Joe]] | ||
Rivi 155: | Rivi 231: | ||
==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. | *[http://www.cs.tut.fi/~jkorpela/emacs/ Jukka Korpelan Emacs-opas] | ||
*[ | *[http://www.gnu.org/software/emacs/manual/emacs.html Emacsin manuaali verkossa] | ||
*[https://www.gnu.org/software/emacs/manual/html_node/eintr/index.html Emacs Lisp opas] | |||
*[ | *[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) | |
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 |
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]
- Emacsin kotisivusto
- Emacs-wiki
- Emacs suomenkielisessä Wikipediassa
- Emacs englanninkielisessä Wikipediassa
Emacs-oppaita[muokkaa]
- Aalto-yliopiston Emacs-opas
- Jukka Korpelan Emacs-opas
- Emacsin manuaali verkossa
- Emacs Lisp opas
- Emacs Rocks! -videosarja
Kehitysympäristöt | |
Perinteiset | Komentorivi | Tekstieditorit | Vim | Emacs |
---|---|
GNOME | Anjuta |
KDE | KDevelop |
JAVA | Borland JBuilder | Eclipse | NetBeans |
muut | Geany | Jedit | Lazarus |
web | Electron | Bluefish |