Emacs

emacs
Tekstredigeringsdel _

GNU Emacs 27 (2020)
Generell informasjon
programtype tekstredigerer , IDE
Forfatter
utvikler GNU Project, Emacs Project [ 1 ]
Utviklingsmodell gratis programvare
Første utgivelse 1976
Tillatelse GPL v3 [ 2 ]
Språk flere
Teknisk informasjon
Planlagt inn C , Emacs Lisp
Støttede plattformer
Versjoner
Siste stabile versjon 28.2 ( info ) (12. september 2022 (1 måned og 4 dager))
Linker
GNU offisielle nettsted

Emacs er en funksjonsrik tekstredigerer som er veldig populær blant programmerere og tekniske brukere. GNU Emacs er en del av GNU -prosjektet og den mest populære versjonen av Emacs med mye aktivitet i utviklingen. GNU Emacs-manualen beskriver den som "en utvidbar, tilpassbar, selvdokumenterende, sanntidsredigerer."

Den originale EMACS står for, E ditor MAC ro S for TECO . Den ble skrevet i 1975 av Richard Stallman sammen med Guy Steele . Det var inspirert av ideene til TECMAC og TMACS, et par TECO-makroredaktører skrevet av Guy Steele , Dave Moon , Richard Greenblatt , Charles Frankston og andre. Mange versjoner av EMACS har blitt utgitt så langt, men det er for tiden to som er i vanlig bruk: GNU Emacs, utviklet av Richard Stallman i 1984, og XEmacs , en gaffel av GNU Emacs, som ble utviklet i 1991. GNU Emacs er implementert som Emacs Lisp- tolk skrevet i C , som er utvidet med Lisp-funksjoner for redigering av tekst; så nesten all Emacs-kode kan endres eller utvides i sanntid. Dette har gjort det mulig å utvide GNU Emacs med pakker til å dekke alle typer aktivitet som involverer tekst: fra å skrive, kompilere eller interaktivt kjøre programmer for ulike dataspråk , til å sjekke e-post, chatte eller surfe på Internett.

Noen mennesker skiller mellom det store ordet "Emacs", som brukes til å referere til avledede versjoner av programmet laget av Richard Stallman (spesielt GNU Emacs og XEmacs), og det små ordet "emacs", som brukes til å referere til de store antall Emacs-implementeringer. Ordet "emacs" er ofte pluralisert på engelsk som emacsen i analogi med "okser". For eksempel heter den Emacs-kompatible pakken for Debianemacsen-common . Det eneste flertallet gitt av Collins English Dictionary er emacsen. [ 3 ]

I Unix- kulturen er Emacs en av to hovedkonkurrenter i tradisjonelle redaktørkriger , den andre er vi .

Historikk

Emacs ble født i MIT -laboratoriene på 1970 -tallet . Før introduksjonen var standard tekstredigerer i Incompatible Time Sharing System (ITS), operativsystemet i PDP-6 og PDP-10 kunstig intelligenslaboratorier , en linjeredigerer kjent som TECO . I motsetning til moderne tekstredigerere, i TECO-inntasting, ble redigering og visning gjort separat, slik Vi senere skulle gjøre. De maskinskrevne tegnene dukket ikke opp i dokumentet, en rekke instruksjoner måtte legges inn, på TECOs språk, som indikerte at det skulle angi de nødvendige tegnene. Teksten ble ikke vist på skjermen. Denne oppførselen ligner på ed -programmet , som fortsatt brukes i dag.

Richard Stallman besøkte Stanford Artificial Intelligence Laboratory i 1972 eller 1974 og møtte tekstredaktøren "E". Skrevet av Fred Wright, redaktøren, hadde den intuitiv WYSIWYG (det du ser er det du får) oppførsel som er vanlig i moderne tekstredigerere. Imponert over denne funksjonen dro Stallman tilbake til MIT hvor Carl Mikkelsen, en av hackerne i Artificial Intelligence Laboratory, hadde lagt til en redigerings-sampling-modus kalt "Control-R" til TECO, som tillot skjermen å vise hva den ville. brukeren skrev inn fra tastaturet. Stallman implementerte denne modusen på nytt for å kjøre effektivt. Lagt til en funksjon i TECOs redigerings-samplingmodus, slik at brukeren kan omdefinere en hvilken som helst tastatursnarvei for å kjøre et TECO-program.

En annen funksjon ved E, som TECO ikke hadde, var å korrigere tilfeldig tilgang. Fra implementeringen var den originale TECO en sekvensiell editor, designet for å redigere stanset papirtape på PDP-1. Vanlig redigering kan gjøres én side om gangen, i den rekkefølgen sidene vises i filen.

Den nye versjonen av TECO var populær i AI -laboratoriet , og den samlet snart en samling makroer, hvis navn endte på "MAC" eller "MACS". To år senere forenet Guy Steele en rekke tastaturmakroer til én.

Etter en natt med felles hacking av Steele og Stallman, fullførte Stallman implementeringen, som inkluderte verktøy for å utvide og dokumentere det nye settet med makroer. Det resulterende systemet ble kalt EMACS, som betyr "Redigering av MACroS". En alternativ versjon hevder at EMACS betydde "E med MACroS", med henvisning til mangelen på makrofunksjoner i E. I følge Stallman tok han navnet Emacs "fordi <E> ikke var i bruk som en forkortelse i ITS på den tiden ." ". Det har også blitt kommentert at " Emack & Bolio's " var navnet på en populær isbar i Boston , kort avstand fra MIT. Et tekstformateringsprogram brukt i ITS ble senere kalt BOLIO av Dave Moon , som besøkte isbaren. Stallman likte imidlertid ikke den isen, og visste det ikke engang da han valgte navnet "Emacs"; denne uvitenheten er grunnlaget for en Hacker koan , Emacs og Bolio ).

Stallman innså faren med for mange tilpasninger av programmet og de facto -gaflene det kunne føre til, og satte visse betingelser for bruken av programmet. Senere skrev han:

"EMACS ble distribuert på basis av fellesskapsdeling, noe som betyr at alle forbedringer må sendes til meg for å bli inkorporert og distribuert."

De originale Emacene, som TECO, kjørte bare på PDP-familien av datamaskiner. Dens oppførsel var forskjellig nok fra TECO til å bli betraktet som en tekstredigerer i seg selv. Det ble raskt standard redigeringsprogram på ITS. Det ble også portert fra ITS til Tenex- og TOPS-20- operativsystemene av Michael McMahon, men ikke til Unix i utgangspunktet. Andre bidragsytere til tidlige versjoner av Emacs inkluderer Kent Pitman , Earl Killian og Eugene Ciccarelli .

Andre emacsen

I løpet av de neste årene ble mange Emacs-lignende redaktører skrevet for andre operativsystemer. Blant dem SINE (Sine Is Not EMACS), EINE ("Eine Is Not EMACS") og ZWEI ("ZWEI Was EINE Initially", for Lisp-maskinen ), som ble skrevet av Michael McMahon og Daniel Weinreb (Navnene EINE og ZWEI betyr henholdsvis "en" og "to" på tysk). I 1978 skrev Bernard Greenberg Multics Emacs ved Honeywells Cambridge Information Systems Lab .

Den første Emacs-lignende redaktøren som jobbet med Unix var Gosling Emacs , skrevet i 1981 av James Gosling (som senere oppfant programmeringsspråket Java ). Det ble skrevet i programmeringsspråket C og brukte et utvidelsesspråk kjent som Mocklisp , med syntaks som ligner på Lisp -språket . I 1984 var det proprietær programvare .

GNU Emacs

I 1984 begynte Stallman arbeidet med GNU Emacs for å produsere et gratis programvarealternativ til Gosling Emacs. Den var opprinnelig basert på Gosling Emacs, men Stallman erstattet Mocklisp-tolken med en Lisp -tolk , og tvang ham til å erstatte nesten all koden. GNU Emacs ble det første programmet publisert av det nye GNU-prosjektet .

GNU Emacs er skrevet i Emacs Lisp (selv implementert i C) som et utvidelsesspråk. Den første utbredte versjonen av GNU Emacs var 15.34, som dukket opp i 1985. Versjoner 2 til 12 har aldri eksistert. De første versjonene hadde blitt nummerert i formen "1.xx", men før versjon 1.12 ble det besluttet å droppe den innledende "1", siden man trodde at dette tallet aldri ville endre seg. Versjon 13, den første som var offentlig, ble utgitt 20. mars 1985.

GNU Emacs kjørte på Unix, det samme gjorde Gosling Emacs. GNU Emacs hadde imidlertid flere funksjoner, for eksempel (fullstendig) Lisp som utvidelsesspråk. Som et resultat erstattet den snart Gosling Emacs som de facto Emacs-redaktør på Unix.

Fram til 1999 var GNU Emacs-utviklingen relativt lukket, til det punktet hvor den ble brukt som et eksempel på "katedralen"-utviklingsmodellen i The Cathedral and the Bazaar . Prosjektet har siden tatt i bruk en offentlig utviklingspostliste, og anonym tilgang til CVS -systemet . Utviklingen skjer på en enkelt gren av CVS, som for tiden er på versjon 23.4.1.

XEmacs

Fra og med 1991 ble Lucid Emacs utviklet av Jamie Zawinski og andre ved Lucid Inc., basert på en alfaversjon av GNU Emacs 19. De to kodebasene skilte seg snart, og de to utviklingsteamene ga opp ]4[ Dette var en av de mest kjente gaflene til et gratis program . Lucid Emacs har fått nytt navn til XEmacs . Det og GNU Emacs er de to mest populære variantene som brukes i dag. "X" i XEmacs stammer fra enten en tidlig tilnærming for å støtte X Window System som et grafisk brukergrensesnitt, eller et "kompromissnavn" mellom partene som utvikler XEmacs. [ 5 ] Både GNU Emacs og XEmacs støtter grafiske grensesnitt og tekstterminaler .

Andre implementeringer

GNU Emacs var opprinnelig ment for datamaskiner med 32-biters adresserom, og minst 1 MiB RAM, på et tidspunkt da slike datamaskiner ble ansett som avanserte. Dette etterlot en dør åpen for små re-implementeringer. Noen bemerkelsesverdige er listet opp nedenfor:

Lisens

For GNU Emacs (og for GNU-programvarepakker generelt), fortsetter policyen å akseptere betydelige bidrag med kode bare hvis opphavsrettsinnehaveren gir avkall på opphavsretten. Det ble imidlertid gjort et unntak fra denne policyen for MULE (MULtilingual Extension)-koden, som håndterer Unicode og mer avanserte metoder for å håndtere andre språk, da opphavsrettsinnehaveren er den japanske regjeringen og overføring av opphavsrett Det var ikke mulig. [ 8 ]

Denne policyen gjelder imidlertid ikke ekstremt små kodebidrag eller feilrettinger. Det er ingen streng definisjon av lite bidrag , men som en veiledning anses det å være mindre enn 10 linjer med kode.

Denne policyen er ment å gjøre det enklere å håndheve copyleft , slik at FSF kan forsvare programvaren i en rettssak, dersom en skulle oppstå.

Funksjoner

Resten av denne artikkelen tar for seg moderne versjoner av Emacs, det vil si GNU Emacs og XEmacs, de eneste inkarnasjonene av Emacs som er mye brukt i dag. Begrepet "Emacs" vil bli brukt for å referere til begge programmene, siden de har svært like funksjoner; XEmacs startet som en gaffel av GNU Emacs, og påfølgende versjoner har holdt seg mer eller mindre kompatible med GNU Emacs.

Til tross for (eller kanskje på grunn av) sin ærverdige fortid, er Emacs en av de kraftigste og mest allsidige tekstredigererne i dag. Det skal bemerkes at det først og fremst er et tekstredigeringsprogram , og ikke et tekstbehandlingsprogram ; det enorme funksjonssettet er rettet mot å hjelpe brukeren med å manipulere tekstbiter, i stedet for å manipulere tegnfonter eller skrive ut dokumenter (selv om Emacs kan gjøre det også). Emacs har en mengde funksjoner som lar deg håndtere den tilsynelatende enkle oppgaven med å redigere tekst, alt fra kommandoer for å manipulere ord og avsnitt (slette dem, flytte dem, flytte mellom dem, osv.), til syntaksutheving for å gjøre koden enklere- å lese font , eller kjør "tastaturmakroer" som inneholder mange brukerdefinerte redigeringskommandoer.

Det rike utvalget av funksjoner som finnes i Emacs er et resultat av dets uvanlige design. Nesten all redaktørens funksjonalitet, fra grunnleggende redigeringsoperasjoner (som å sette inn tegn i et dokument) til å konfigurere brukergrensesnittet, styres av en dialekt av programmeringsspråket Lisp . I dette Lisp-miljøet kan variabler og til og med hele funksjoner endres på farten, uten å rekompilere eller til og med starte editoren på nytt. Som et resultat kan oppførselen til Emacs endres nesten ubegrenset, enten direkte av brukeren, eller (mer vanlig) ved å laste inn Emacs Lisp-kodebiter. Disse fragmentene er kjent som " biblioteker ", "biblioteker", "pakker" eller "utvidelser".

Emacs inneholder et stort antall biblioteker skrevet i Emacs Lisp, og flere tredjepartsbiblioteker kan finnes på Internett . Mange biblioteker implementerer hjelp for dataprogrammering, som er en refleksjon av populariteten til Emacs blant programmerere. Emacs kan brukes som et integrert utviklingsmiljø (IDE), slik at programmerere kan redigere, kompilere og feilsøke koden med ett enkelt grensesnitt. Andre biblioteker utfører mindre vanlige funksjoner. Flere eksempler er listet opp nedenfor:

Problemet med utformingen av Emacs, basert på Lisp, er en ytelsesstraff som følge av lasting og tolkning av Lisp-kode. På systemene der det først ble implementert, var Emacs ofte mye tregere enn andre tekstredigerere. Noen spøkefulle akronymer henspiller på dette faktum: Åtte megabyte og stadig bytte (fra dagene da åtte megabyte var mye minne), Emacs gjør en datamaskin treg , Mallocs til slutt all datamaskinlagring og gjør til slutt alle datamaskiner syke . Moderne datamaskiner er imidlertid raske nok til at Emacs sjelden føles trege. Faktisk starter Emacs opp raskere enn de fleste moderne tekstbehandlere. Andre spøksakronymer refererer til bruken av modifikasjonstaster for å få tilgang til avanserte funksjoner: Escape Meta Alt Control Shift .

Plattformer

Emacs er et av de mest porterte ikke-trivielle dataprogrammene til andre plattformer. Den kjører på et bredt utvalg av operativsystemer , inkludert Unix-lignende systemer ( GNU/Linux , BSD , Solaris , AIX , IRIX ), Mac OS X , [ 9 ] ​[ 10 ]​ osv., MS-DOS , Microsoft Windows [ 11 ] ​[ 12 ] ​[ 13 ]​ og OpenVMS . Unix-systemer, både gratis og proprietære, gir ofte Emacs sammen med operativsystemet .

Emacs kjører både i tekstterminalmiljøer og miljøer med grafisk brukergrensesnitt ( GUI ). Emacs bruker X Window System til å generere GUI, enten direkte eller ved å bruke et widget-verktøysett som Motif , LessTif eller GTK+ . Emacs kan også bruke de opprinnelige grafikksystemene til Mac OS X (ved hjelp av Carbon API ) og Microsoft Windows . Det grafiske grensesnittet inneholder menylinjer, verktøylinjer, rullefelt og kontekstmenyer.

Redigeringsmoduser

Emacs tilpasser oppførselen til teksttypen du redigerer gjennom redigeringsmoduser kalt "hovedmoduser". Hovedmodusene er definert for vanlig tekst, kildekode for ulike programmeringsspråk , HTML , TeX og LaTeX -dokumenter og mange andre typer tekst. Hver hovedmodus modifiserer visse variabler i Lisp slik at Emacs oppfører seg mer praktisk for den spesielle typen tekst. De definerer vanligvis tabeller for syntaksutheving , ved å bruke forskjellige fonter eller farger for å vise nøkkelord, kommentarer osv. Hovedmodusene tilbyr også spesielle redigeringskommandoer. For eksempel definerer hovedmoduser for programmeringsspråk vanligvis kommandoer for å hoppe til begynnelsen eller slutten av en funksjon.

Oppførselen til Emacs kan tilpasses ytterligere ved å bruke "mindre moduser". Mens bare én hovedmodus kan assosieres med en buffer om gangen, kan du ha flere mindre moduser aktive. For eksempel definerer hovedmodusen for programmeringsspråket C en annen mindre modus for hver av de mer populære innrykkstilene.

Tilpasning

Mange Emacs-brukere tilpasser editoren for å passe deres behov. Det er tre hovedmåter å tilpasse Emacs. Den første er tilpasningsutvidelsen , som lar brukeren tilordne verdier til vanlige tilpasningsvariabler , for eksempel fargeskjema, ved hjelp av et grafisk grensesnitt. Dette er beregnet på Emacs-nybegynnere som ikke vil jobbe med Emacs Lisp-kode.

Den andre måten er å registrere tastetrykk i makroer og spille dem på nytt for å automatisere komplekse og repeterende oppgaver. Dette gjøres vanligvis på ad-hoc basis, og forkaster hver makro etter bruk, selv om makroer kan lagres og kalles etter behov.

Den tredje metoden for å tilpasse Emacs er å bruke Emacs Lisp. Vanligvis lagres brukerlevert Emacs Lisp-kode i en fil som heter .emacs, som lastes når Emacs starter. Filen .emacsbrukes ofte til å tildele verdier til variabler og tastatursnarveier andre enn standardinnstillingene, og for å definere nye kommandoer for brukeren. Mange avanserte brukere har filer som er .emacshundrevis av linjer lange, med tilpasninger som gjør at Emacs oppfører seg veldig annerledes enn standardoppførselen.

Hvis et stykke Emacs Lisp-kode generelt er nyttig, pakkes det ofte som et bibliotek og distribueres til andre brukere. Mange tredjepartsbiblioteker finnes på Internett. For eksempel et bibliotek kalt Wikipedia-modus for redigering av Wikipedia-artikler. Det er til og med en Usenet-nyhetsgruppe , gnu.emacs.sources ( ødelagt lenke tilgjengelig på Internet Archive ; se historikk , første og siste versjon ). , brukes til å sende inn nye biblioteker. Noen eksterne biblioteker kan bli et "standard" Emacs-bibliotek.

Dokumentasjon

De første Emacs inkluderte et kraftig hjelpebibliotek som kunne vise dokumentasjon for hver kommando, variabel og intern funksjon (det kan ha opphav til denne teknikken). På grunn av dette ble Emacs kalt et "selvdokumenterende program." Dette begrepet betyr ikke at Emacs skriver sin egen dokumentasjon, men snarere at den presenterer sin egen dokumentasjon for brukeren. Denne funksjonen gjør Emacs-dokumentasjonen svært tilgjengelig. For eksempel kan brukeren finne ut hvilken kommando som er knyttet til en tastekombinasjon ved å skrive inn C-h k(som påkaller kommandoen describe-key), etterfulgt av tastekombinasjonen. Hver funksjon inkluderte en dokumentasjonsstreng, spesifikt ment å vises til brukeren hvis det ble bedt om det. Denne praksisen ble senere utvidet til forskjellige programmeringsspråk, som Lisp og Java .

Emacs hjelpesystem er nyttig ikke bare for nybegynnere, men også for avanserte brukere som skriver kode i Emacs Lisp. Dersom dokumentasjonen for en funksjon eller variabel ikke er tilstrekkelig, kan hjelpesystemet brukes til å navigere gjennom Emacs Lisp-kildekoden, både for innebygde biblioteker og for installerte eksterne biblioteker. Derfor er det veldig praktisk å programmere i Emacs Lisp ved å bruke Emacs selv.

I tillegg til dokumentasjonen som følger med programmet, har Emacs en spesielt lang, detaljert og velskrevet manual . En elektronisk kopi av GNU Emacs Manual , skrevet av Richard Stallman, er inkludert med GNU Emacs og kan vises med standard info -nettleser. XEmacs har en lignende bruksanvisning, som ble splittet fra GNU Emacs-manualen samtidig med XEmacs-programmet. To andre manualer, Emacs Lisp Reference Manual , av Bill Lewis, Richard Stallman og Dan Laliberte, og Programmering i Emacs Lisp av Robert Chassell, er også inkludert. I tillegg til elektroniske versjoner er alle tre håndbøkene tilgjengelige i bokform, utgitt av Free Software Foundation .

Emacs har også en veiledning . Når Emacs startes uten å spesifisere noen filer som skal redigeres, viser den instruksjoner for å utføre enkle redigeringskommandoer og for å starte opplæringen.

Internasjonalisering

Emacs støtter redigering av tekst skrevet på mange menneskelige språk . Det er støtte for mange alfabeter, skript, skrivesystemer og kulturelle konvensjoner. Emacs tilbyr stavekontroll for mange språk ved å ringe eksterne programmer som ispell . Mange kodingssystemer støttes, for eksempel UTF-8 . Versjon 21.5 av XEmacs har delvis Unicode-støtte . GNU Emacs versjon 21.4 har lignende støtte. Emacs 22 vil ha bedre støtte. Alle disse anstrengelsene for å støtte Unicode bruker en intern koding som er spesifikk for Emacs, som krever konvertering for lasting og lagring. UTF-8 vil være det interne kodingssystemet for Emacs i en fremtidig versjon av XEmacs 21.5, og absolutt i GNU Emacs 23.

Emacs brukergrensesnitt er imidlertid på engelsk og er ikke oversatt til andre språk, med unntak av nybegynneropplæringen. Uoffisielt er det flere GNU Emacs-dokumentasjonsoversettelsesprosjekter, samt et fullstendig internasjonaliserings- og lokaliseringsprosjekt av GNU Emacs til spansk (se lenker).

For synshemmede brukere er det et undersystem kalt Emacspeak som gjør at editoren kun kan brukes gjennom et lydgrensesnitt.

Lisens

Programmets kildekode, som inkluderer både C-språket og Emacs Lisp-komponenter, er fritt tilgjengelig for inspeksjon, modifikasjon og redistribuering under vilkårene i GNU General Public License (GNU GPL). Eldre versjoner av GNU Emacs-dokumentasjonen ble utgitt under en ad-hoc-lisens som krevde at viss tekst ble inkludert i eventuelle modifiserte kopier. I GNU Emacs brukerhåndbok, for eksempel, inkluderte dette hvordan man kan få tak i GNU Emacs og Richard Stallmans politiske essay, " The GNU Manifesto ". XEmacs-manualene, som ble arvet fra de gamle GNU Emacs-manualene da gaffelen fant sted, har samme lisens. I stedet bruker nyere versjoner av GNU Emacs-dokumentasjonen GFDL -lisensen og bruker "invariante seksjoner" for å kreve inkludering av de samme dokumentene, og også at manualene selv erklærer som GNU-manualer .

Bruke Emacs

Kommandoer

Fra Unix-skallet kan en fil åpnes for redigering ved å skrive "emacs [filnavn]". Hvis filen hvis navn er angitt ikke eksisterer, vil en ny fil med dette navnet bli opprettet. For eksempel, å skrive "emacs xorg.conf" vil redigere xorg.conf-filen i gjeldende katalog, hvis den eksisterer. Emacs-dokumentasjonen anbefaler imidlertid å starte programmet uten å angi et filnavn, for å unngå den dårlige vanen med å starte en egen prosess for hver fil som skal redigeres. Måten å få mest mulig ut av Emacs er å åpne alle filene fra en enkelt forekomst av programmet.

I normal redigeringsmodus oppfører Emacs seg som andre tekstredigerere: Tegntastene ( a , b , c , 1 , 2 , 3 , etc.) brukes til å sette inn de tilsvarende tegnene, piltastene flytter punktredigering, tilbaketasten sletter tekst osv. Andre kommandoer kan påkalles via modifikasjonstaster, ved å trykke Ctrl eller Meta (tilsvarer gjeldende Alt -tast ) eller begge deler, sammen med en annen tast. Hver redigeringskommando er faktisk et funksjonskall i Emacs Lisp-miljøet. Selv en kommando så enkel som å skrive ainn for å sette inn tegnet a innebærer et funksjonskall. I dette tilfellet vil funksjonen være self-insert-command.

Nedenfor er noen av de grunnleggende kommandoene. Mer kan finnes i listen over Emacs-kommandoer . Kontrollnøkkelen er representert med stor C og den alternative (Alt) eller meta-tasten er representert med stor M.

Kommando Nøkkel Beskrivelse
forward-word M-f Fremme et ord.
search-word C-s Finn et ord i bufferen.
undo C-/ Angre siste endring, og tidligere endringer hvis du trykker gjentatte ganger.
keyboard-quit C-g Avbryt gjeldende kommando.
fill-paragraph M-q Pakk tekst inn ("fyll ut") et avsnitt.
find-file C-x C-f Besøk en fil (hvis navn er spesifisert) i sin egen redigeringsbuffer.
save-buffer C-x C-s Lagre gjeldende redigeringsbuffer i filen du har besøkt.
save-with-newname C-x C-w Lagre gjeldende redigeringsbuffer som en fil hvis navn må spesifiseres.
save-buffers-kill-emacs C-x C-c Spør brukeren om de vil lagre endringer, og avslutt deretter Emacs.
set-marker C-[space]/C-@ Plasser en markør der du vil klippe eller kopiere.
cut C-w Klipp ut all teksten mellom markøren og markøren.
copy M-w Kopier all teksten mellom bokmerket og markøren.
paste C-y Lim inn tekst fra Emacs-utklippstavlen.
kill buffer C-x k Lukk gjeldende buffer.

Kommandoene save-bufferog save-buffers-kill-emacsbruker flere tastetrykk . For eksempel C-x C-cbetyr det: mens du holder nede kontrolltasten , trykk på x ; mens du holder nede kontrolltasten , trykk på c . Denne teknikken gjør det mulig å ha flere kommandoer for tastaturet enn ved bruk av enkle tastetrykk, denne metodikken ble popularisert av Emacs, som kommer fra TECMAC, en av makrosamlingene til TECO, forgjengeren til Emacs. Det har vært en funksjon siden, selv i moderne kodeskrivere som Visual Studio .

Når Emacs kjører et grafisk grensesnitt, kan mange kommandoer påkalles fra hovedmenyen eller verktøylinjen i stedet for å bruke tastaturet. Imidlertid foretrekker mange erfarne Emacs-brukere å bruke tastaturet fordi det er raskere og mer praktisk når tastesekvensene er lagret.

Noen Emacs-kommandoer fungerer ved å starte eksterne programmer (som ispell for stavekontroll eller gcc for programkompilering), analysere programmets utdata og vise resultatet i Emacs.

Minibufferen

Minibufferen , vanligvis bunnlinjen på skjermen, er plassen der Emacs ber om informasjon. I minibufferen kan du skrive inn teksten som skal finnes i et søk, navnet på en fil som skal leses eller lagres og lignende informasjon. Når det er aktuelt, er tabulatorfullføring mulig .

Filbehandling og visning

Emacs holder tekst i objekter som kalles buffere . Brukeren kan opprette nye buffere og ødelegge uønskede, og flere buffere kan eksistere samtidig. De fleste buffere inneholder informasjon lastet fra binære tekstfiler, som brukeren kan redigere og lagre tilbake til disk. Buffere brukes også til å lagre midlertidig tekst, for eksempel dokumentasjonsstrengene som returneres av hjelpebiblioteket .

I både tekst- og grafisk terminalmodus er Emacs i stand til å dele redigeringsområdet i separate seksjoner (referert til som "vinduer" siden 1975, noe som kan være forvirrende på systemer med andre konsepter av "vindu"), slik at mer enn én buffer kan vises samtidig. Dette har mange mulige bruksområder. For eksempel kan en seksjon brukes til å vise kildekoden til et program, mens en annen viser resultatene av kompileringen av det programmet. I grafiske miljøer kan Emacs også starte flere grafiske vinduer, kjent som "rammer" i Emacs terminologi.

Lillefingeren til Emacs

Fordi Emacs krever hyppig bruk av modifikasjonstaster (og spesielt Control-tasten, som vanligvis trykkes med lillefingeren ), lider mange tunge Emacs-brukere av gjentatte belastningsskader, som viser seg som smerter og smerter i småfingrene. Dette problemet er så utbredt at det har blitt kjent i brukerfellesskapet som Emacs pinky .

En vanlig løsning er å bytte funksjonene til Control- og Caps Lock-tastene på venstre side av tastaturet, eller sette begge tastene til Control. [ 14 ] Det finnes også spesielle tastaturer ( Kinesis Contoured Keyboard ) som plasserer modifikasjonstaster i en posisjon der de lett kan trykkes med tommelen, eller med store modifikasjonstaster i en posisjon der de kan trykkes med tommelen. hånd ( Microsoft Natural Keyboard ).

Kultur

The Church of Emacs

"Church of Emacs" dannet av Richard Stallman er en parodi på en religion for Emacs-brukere. Ved at han omtaler Vi som "dyrets redaktør" (vi-vi-vi som ville vært 6-6-6 i romertall), men dette betyr ikke at han er imot bruken av Vi (det sies at å bruke en gratisversjon av vi er bare en bot).

Stallman spiller også en helgen fra Emacs-kirken ved navn Saint Ignucio , som bruker en gammel harddisk som glorie.

Se også

Referanser

  1. savannah.gnu.org emacs - Prosjektmedlemsliste
  2. savannah.gnu.org emacs - Sammendrag
  3. ^ Thomas Widmann (13. juni 2005). « Emacs » definert i Collins English Dictionary» . comp.emacs . Hentet 27. september 2006 . 
  4. Stephen J., Turnbull. "XEmacs vs. GNU Emacs» . Hentet 27. september 2006 . 
  5. [1]
  6. Jarosław Rzeszotko. (16. oktober 2006) Stiv spør, gode programmerere svarer Arkivert 8. november 2006 på Wayback Machine (på engelsk)
  7. Meadow: Flerspråklig forbedring til gnu Emacs med fordeler over Windows
  8. Richard Stallmann. (27. september 2000) VM og FSF (på engelsk)
  9. "Carbon Emacs-pakke" . Arkivert fra originalen 2006-01-25 . Hentet 27. september 2006 . 
  10. "Aquamacs er en brukervennlig Emacs for Mac OS X" . Hentet 27. september 2006 . 
  11. B, Ramprasad (24. juni 2005). "GNU Emacs FAQ for Windows 95/98/ME/NT/XP og 2000" . Hentet 27. september 2006 . 
  12. Borgman, Lennart (2006). "EmacsW32 Hjemmeside" . Arkivert fra originalen 6. mars 2007 . Hentet 27. september 2006 . 
  13. "GNU Emacs på Windows" . Franz Inc. 2006 . Hentet 27. september 2006 . 
  14. ^ "Hvordan unngå Emacs Pinky-problemet" . Xahlee.org . Hentet 2011-07-22 . 

Bibliografi

Eksterne lenker