Rekisteröitymätön käyttäjä
Ero sivun ”Emacs” versioiden välillä
Siirry navigaatioon
Siirry hakuun
→Emacs-sovelluksia: Lisätty tietoa Emacsin paketinhallinnasta ja evil-modesta.
Ei muokkausyhteenvetoa |
(→Emacs-sovelluksia: Lisätty tietoa Emacsin paketinhallinnasta ja evil-modesta.) |
||
(37 välissä olevaa versiota 7 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ä. | |||
{| | {| | ||
|C-p | |'''C-p''' | ||
| | |rivi ylöspäin | ||
| | |'''C-n''' | ||
|rivi alaspäin | |||
| | |||
|- | |- | ||
|C- | |'''C-f''' | ||
| | |merkki eteenpäin | ||
|'''C-b''' | |||
|merkki taaksepäin | |||
|'''M-f''' | |||
|sana eteenpäin | |||
|'''M-b''' | |||
|sana taaksepäin | |||
|- | |- | ||
|M- | |'''C-a''' | ||
| | |rivin alkuun | ||
|'''C-e''' | |||
|rivin loppuun | |||
|'''M-a''' | |||
|lauseen alkuun | |||
|'''M-e''' | |||
|lauseen loppuun | |||
|- | |- | ||
|M- | |'''C-v''' | ||
| | |ruudullinen eteenpäin | ||
|'''M-v''' | |||
|ruudullinen taaksepäin | |||
|- | |- | ||
|M-< | |'''M->''' | ||
| | |puskurin loppuun | ||
|'''M-<''' | |||
|puskurin alkuun | |||
|} | |} | ||
=== | === 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- | |'''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- | |'''C-d''' | ||
|Poista | |Poista seuraava merkki | ||
|'''M-d''' | |||
|Leikkaa seuraava sana | |||
|- | |- | ||
|C- | |'''C-k''' | ||
| | |Leikkaa rivin loppu | ||
|'''M-k''' | |||
|Leikkaa lauseen loppu | |||
|- | |- | ||
|C- | |'''C-w''' | ||
| | |Leikkaa valinta | ||
|'''M-w''' | |||
|Kopioi valinta | |||
|- | |- | ||
|M-y | |'''C-y''' | ||
| | |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 | |Etsi eteenpäin | ||
|'''C-r''' | |||
|Etsi taaksepäin | |||
|- | |- | ||
| | |'''M-%''' | ||
|Etsi ja korvaa | |||
|Etsi ja korvaa | |||
|} | |} | ||
=== 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 | ||
|} | |} | ||
=== Puskurit === | === Puskurit ja ikkunat === | ||
{| | {| | ||
| | |'''C-x C-b''' | ||
|Listaa puskurit | |Listaa puskurit | ||
| | |'''C-x k''' | ||
|Tuhoa puskuri | |Tuhoa puskuri | ||
|- | |- | ||
|C-x 0 | |'''C-x 0''' | ||
|Piilota aktiivinen ikkuna | |Piilota aktiivinen ikkuna | ||
|'''C-x 1''' | |||
|Suurenna aktiivinen ikkuna | |||
|- | |- | ||
|C-x | |'''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- | |'''C-h ?''' | ||
|Näytä lista aputoiminnoista | |||
|'''C-h t''' | |||
|Aloita interaktiivinen opas | |||
| | |||
|C | |||
| | |||
|- | |- | ||
|C- | |'''C-h r''' | ||
| | |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''' | ||
|Poistu tilapäisesti (paluu komennolla [[fg]]) | |Poistu tilapäisesti (paluu komennolla [[fg]]) | ||
|- | |- | ||
| | |'''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. Lisää paketteja (sovelluksia) voi asentaa Emacsin omalla [[paketinhallintajärjestelmä]]llä ('''M-x list-packages'''), ja sen käyttöohjeen saa tuttuun tapaan näppäilemällä '''C-h m'''. | |||
=== 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ä (jos oikeasti haluaa käyttää Vimin kaltaisia näppäinkomentoja Emacsissa, on suositeltavaa asentaa '''evil'''-mode.). | |||
* '''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]] | ||
==Aiheesta muualla== | ==Aiheesta muualla== | ||
*[http://www. | *[http://www.gnu.org/software/emacs/ Emacsin kotisivusto] | ||
*[ | *[https://www.emacswiki.org/emacs/SiteMap Emacs-wiki] | ||
*[[wikipedia:fi:Emacs|Emacs suomenkielisessä Wikipediassa]] | *[[wikipedia:fi:GNU Emacs|Emacs suomenkielisessä Wikipediassa]] | ||
*[[wikipedia:Emacs|Emacs englanninkielisessä Wikipediassa] | *[[wikipedia:GNU Emacs|Emacs englanninkielisessä Wikipediassa]] | ||
=== 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] | |||
*[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]] |