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.
(→Muuta: C-u on standardimpi, lisätty erittäin hyödyllinen C-g) |
(→Emacs-sovelluksia: Lisätty tietoa Emacsin paketinhallinnasta ja evil-modesta.) |
||
(29 välissä olevaa versiota 6 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 45: | Rivi 68: | ||
|} | |} | ||
=== | === Tekstin poistaminen, palauttaminen ja valinta === | ||
Emacsissä tekstin valinta tapahtuu asettamalla merkki ja liikuttamalla kursoria. Valinta on merkin ja kursorin väliin jäävä alue. | |||
{| | {| | ||
|'''C- | |'''C-välilyönti''' | ||
| | |Aseta merkki | ||
|'''C-x C-x''' | |||
|Vaihda merkin ja kursorin paikat keskenään. | |||
|- | |- | ||
|'''askelpalautin''' | |'''askelpalautin''' | ||
Rivi 58: | Rivi 84: | ||
|Poista seuraava merkki | |Poista seuraava merkki | ||
|'''M-d''' | |'''M-d''' | ||
| | |Leikkaa seuraava sana | ||
|- | |- | ||
|'''C-k''' | |'''C-k''' | ||
Rivi 66: | Rivi 92: | ||
|- | |- | ||
|'''C-w''' | |'''C-w''' | ||
|Leikkaa | |Leikkaa valinta | ||
|'''M-w''' | |'''M-w''' | ||
|Kopioi | |Kopioi valinta | ||
|- | |- | ||
|'''C-y''' | |'''C-y''' | ||
Rivi 74: | Rivi 100: | ||
|'''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 92: | 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 | ||
|} | |} | ||
=== Puskurit === | === Puskurit ja ikkunat === | ||
{| | {| | ||
|'''C-x C-b''' | |'''C-x C-b''' | ||
|Listaa puskurit | |Listaa puskurit | ||
|'''C-x k''' | |'''C-x k''' | ||
|Tuhoa puskuri | |Tuhoa puskuri | ||
|- | |- | ||
|'''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- | |'''C-h ?''' | ||
| | |Näytä lista aputoiminnoista | ||
|'''C-h t''' | |||
|Aloita interaktiivinen opas | |||
|'''C- | |||
| | |||
|- | |- | ||
|''' | |'''C-h r''' | ||
| | |Lue Emacsin manuaalia | ||
|'''C-h m''' | |||
|'''C- | |Näytä aktiivisten pää- ja sivutilojen dokumentaatio ja näppäinkomennot | ||
| | |||
|} | |} | ||
Rivi 172: | 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. 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]] | *[[Joe]] | ||
*[[Vi]] | *[[Vi]] | ||
==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]] |