Ero sivun ”GNU Emacs” versioiden välillä

[odottaa arviointia][odottaa arviointia]
Poistettu sisältö Lisätty sisältö
Ei muokkausyhteenvetoa
maininta evil modesta
Rivi 17:
'''GNU Emacs''' on [[Emacs]]-perheeseen kuuluva [[tekstieditori]], jonka on aloittanut [[GNU]]-projektin aloittaja [[Richard Stallman]].<ref name="jwzemacs">{{Verkkoviite | osoite = https://www.jwz.org/doc/emacs-timeline.html | nimeke = Emacs Timeline. | tekijä = Jamie Zawinski | ajankohta = 29.10.2007 | viitattu = 9.9.2019 | kieli = {{en}} }}</ref>
 
Aivan ydintä lukuun ottamatta Emacs on kirjoitettu Emacs [[Lisp ]]-ohjelmointikielellä, ja samaa kieltäsitä voi käyttäämuokata editorinja muokkaamiseenlaajentaa jahenkilökohtaisiin laajentamiseentarpeisiin käyttäjänsamaisella tarpeidenLispillä mukaan.(sen Emacs Lisp on-murteella) [[Lisp]]-murrepitkälle.
 
GNU Emacsin kehitystä käytetään esimerkkinä "katedraalimallista" [[Eric S. Raymond]]in kirjassa ''[[The Cathedral and the Bazaar]]''.<ref>{{Verkkoviite | osoite = http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html#catbmain | nimeke = The Cathedral and the Bazaar | tekijä = Eric Steven Raymond | viitattu = 9.9.2019 | kieli = {{en}} }}</ref>
Rivi 27:
Stallman lisäsi [[TECO]]-editoriin ensin perin mahdollisuuden määritellä uusia kahden näppäimen yhdistelmiä ("makroja") viittaamaan tiettyihin komentoriveihin sekä mahdollisuuden tallentaa nämä makrot tiedostoon myös jatkossa käytettäviksi. Tästä seurasi ongelma, että jokainen käyttäjä teki omat makronsa niin, etteivät muut voineet käyttää samaa ohjelmaa opettelematta ensin hyvän aikaa komentoja. Kaksi vuotta myöhemmin AI Labin työntekijä Guy Steele sai idean alkaa koota yhteenvetoa neljästä eri makropaketista. Stallman innostui tästä ja otti homman tehtäväkseen. Tässä vaiheessa projektin nimeksi tuli Emacs (lyhenne sanoista "editing macros"). Nimenvalintaan vaikutti, ettei [[Incompatible Timesharing System|ITS]]:ssä ([[PDP]]-tietokoneen käyttöjärjestelmä) ollut muita e-kirjaimella alkavia ohjelmia, joten ohjelmaan voitiin viitata pelkällä alkukirjaimella. Jotta ohjelman idea käyttäjän itsensä ohjelmoitavana sovelluksena ei kärsisi, vakiomakrot päätettiin rajoittaa perustason editointikomentoihin.<ref name="Nimetön-rDP9-1">Sam Williams - ''Free as in Freedom'', O'Reilly, 2002, sivut 82-86</ref>
 
Lähdekoodiin lisättiin vaatimus, että muutettava koodi on palautettava ohjelmaa muokkaavaan yhteisöön, jotta eriytymisongelmaeriytymisonglema ei palaisi. Tämä ei estänyt [[Forkkaus|forkkausten]] (erillisten jatkokehitettyjen ohjelmien) syntymistä. Emacsista tuli varhainen malliesimerkki sentyyppiselle projektille mitä [[vapaa ohjelmisto|vapaiden ohjelmistojen]] parissa nähtiin usein myöhemmin: käyttäjät eri puolelta maailmaa tekevätkontribuoivat lisäyksiä samaan ohjelmaan jonkinlaisena yhteisönä.<ref name="Nimetön-rDP9-1"/>
 
Aloitettuaan GNU-projektin Stallman pyrki ensin tekemään [[Ohjelmointikielen kääntäjä|C- kääntäjän]], mutta lopulta GNU Emacs oli GNU-projektin ensimmäinen valmistunut ohjelma ja se julkaistiin vuonna 1985. Alun perin sen koodin piti pohjautua aiempiin Emacseihin, mutta tekijänoikeusongelmiin törmäämisen jälkeen se kirjoitettiin lopulta kokonaan uusiksi Lisp-tulkkeineen päivineen. GNU Emacs oli myös ensimmäinen ohjelma, jossa Stallman kokeili omaa lisenssiään, joka myöhemmin johti [[GNU General Public License|GPL-lisenssi]]n syntyyn. Lisenssi oli aluksi Emacsin mukaan nimetty ja siihen sisältyi vaatimus, että kaikki muutokset lähetetään ohjelman kehittäjälle tarkastettavaksi. Tätä vaatimusta Stallman piti kuitenkin virheenä, joka pakottaa keskitettyyn kehitysmalliin ja liialliseen valvontaan, joten hän poisti sen myöhemmistä versioista.
 
==Näppäimistökomennot==
Rivi 35:
Emacs käyttää suurta määrää näppäimistön kontrolleja. Eräs vitsi kertoo ohjelman nimen tulevan sanoista "Escape Meta Alt Control Shift". Meta-näppäintä ei ole PC-näppäimistössä vaan sen tilalla on Alt. Metan sijaan voi painaa Esc-näppäintä ja sen jälkeen näppäintä, joka tulisi painaan metan kanssa.
 
Emacsin näppäinyhdistelmät ilmoitetaan yleensä muodossa esim. <code>C-x C-f</code> (Control+x, Control+f) avaa tiedoston tai Dired-ohjelman hakemistoa avattaessa. <code>M-x</code> (Meta + x) käynnistää komennon execute-extended-command, johon voi syöttää Emacsin komennon. Yleensä myös nuolinäppäimillä voi siirtää kursoria. Jos käytössä on graafinen käyttöliittymä, pystyy käyttämään myös hiirtä kursorin liikuttamiseen ja tekstin valitsemiseen.
 
C-a siirtää kursorin rivin alkuun
C-e siirtää kursorin rivin loppuun
C-f siirtää kursorin yhdenseuraavan kirjaimensanan eteenpäin
C-b siirtää kursorin yhden kirjaimen taaksepäin
M-f siirtää kursorin yhden sanan eteenpäin
M-b siirtää kursorin yhden sanan taaksepäin
M-< siirtyy puskurin alkuun
M-> siirtyy puskurin loppuun
C-s etsii tekstiä
C-x C-s tallentaa puskurin tiedostoon
C-x C-w tallentaa puskurin uudella nimellä
C-x C-f avaa tiedoston käsiteltäväksi (tai käynnistää Diredin)
C-x C-c sulkee Emacsin
C-x b vaihtaa toiseen puskuriin
Rivi 55 ⟶ 51:
C-x 2 jakaa ikkunan kahtia
C-x 1 sulkee toiset ikkunat
C-h ? kertoo kuinka GNU Emacsin aputoiminto toimii
 
==Ominaisuudet==
 
Emacs sisältää suuren määrän paketteja, jotka laajentavat sen toiminnallisuutta. Lisää paketteja voi asentaa Emacsin [[Paketinhallintajärjestelmä|paketinhallintaohjelman]] avulla, jonka pystyy avaamaan käyttämällä <code>M-x list-packages</code> komentoa.
JoJos 1980-luvulta ovat peräisin [[Sähköposti|sähköpostiohjelmat]] RMAIL, ja BABYL, mutta Emacs sisältää myös hieman uudemman sähköpostiohjelman nimeltään GNUS.<ref>https://www.gnu.org/software/emacs/manual/html_node/gnus/index.html </ref><ref>https://www.emacswiki.org/emacs/GnusTutorial </ref> DIRED on Emacsin [[Tiedostonhallinta|tiedostonhallintaohjelma]]. INFO lukee GNU:n [[Texinfo]]-hypertekstidokumentteja.<ref>{{VerkkoviiteRichard | Osoite = https://wwwM.gnu.org/software/emacs/emacs-paper.html| Nimeke =Stallman, EMACS The Extensible, Customizable Self-Documenting Display Editor| Tekijä = Richard M. Stallman | Ajankohta =, 1981-03-26.3.1981| Kieli = {{en}}}}</ref>
 
GNU Emacsin nykyisissä versioissa on mukana suuri määrä pelejä ja demoja, kuten [[Hanoin torni]]t, 5x5, blackbox, bubbles, [[gomoku]], [[Game of Life]], [[erakkopeli]], pong, [[matopeli]] (M-x snake) ja [[tetris]], sekä [[tekstiseikkailu]]peli (M-x dunnet). Lisäksi Emacs sisältää Eliza-tyylisen [[Keskustelubotti|keskustelubotinchatbot]]in (M-x doctor).<ref>https://www.masteringemacs.org/article/fun-games-in-emacs </ref>
 
== Triviaa ==
Myöhemmin Stallman on luonut [[Huumori|humoristisen]] "The Church of Emacs" -meemin. Hän saattaa joskus puheita antaessaan pukeutua "Pyhäksi Ignuciukseksi", joka on Chruch of Emacsin [[Saarnaaja|saarnamies]]. Ignuciuksen opetuksiin kuuluu, että joskus Emacsin kilpailijana nähdyn [[Vim]] -editorin käyttö ei ole syntiä (sehän on Stallmanin ajatusten mukaisesti [[vapaa ohjelmisto|vapaa ohjelma]]) vaan [[katumusharjoitus]].
 
Emacsiin on saatavilla niin kutsuttu "evil mode", joka muuttaa Emacsin Vim-editorin kaltaiseksi.<ref>{{Verkkoviite|osoite=https://evil.readthedocs.io/en/latest/overview.html|nimeke=Overview — Evil 1.15.0 documentation|julkaisu=evil.readthedocs.io|viitattu=2024-06-07|kieli={{en}}}}</ref>
<!--
==Katso myös==
Rivi 75 ⟶ 72:
== Aiheesta muualla ==
{{Commonscat}}
* [httpshttp://linux.fi/wiki/Emacsin_peruskäyttö Emacs-opas] Linux.fi-wikissä
* [https://www.gnu.org/software/emacs/manual/emacs.html GNU Emacs -ohjekirjaopas] {{en}}
* [https://www.gnu.org/software/emacs/tour/ GNU Emacs esittelykierros] {{en}}
* [https://www.gnu.org/software/emacs/manual/html_node/eintr/index.html Emacs Lisp opas] {{en}}
* [https://emacsrocks.com/ Emacs Rocks! -videosarja] {{en}}
* [https://www.emacswiki.org Emacs Wiki] {{en}}
 
[[Luokka:GNU-projektin ohjelmat]]