📄 tutorial.nl
字号:
---------Als je een tweede bestand bezoekt met C-x C-f blijft het eerste bestandgewoon in Emacs. Je kan naar dat bestand terug door het gewoon nog eenkeer te bezoeken met C-x C-f. Op deze manier kan je een behoorlijk aantalbestanden in Emacs krijgen.>> Cre-eer een bestand dat "foo" heet door te typen: C-f C-f foo <Return>. Voeg hieraan wat tekst toe, wijzig haar, en bewaar "foo" door C-x C-s te typen. Type hierna C-x C-f TUTORIAL <Return> om weer hier, in de uitleg, terug te komen.Emacs bewaart intern de tekst van elk bestand in een ding dat een "buffer"genoemd wordt. Als je een bestand bezoekt wordt er een nieuwe buffergemaakt. Om een lijst van de huidige buffers te zien, type C-x C-b laat de bufferlijst zien>> Probeer C-x C-b nu.Zie dat elke buffer een naam heeft en mogelijk ook een bestandsnaam; ditis de naam van het bestand waarmee de buffer overeenkomt. Sommige buffershebben niets met een bestand te maken. Bijvoorbeeld, de buffer die"*Buffer List*" heet heeft geen bestand. Die buffer is de buffer die delijst bevat die door C-x C-b gemaakt wordt. ALLE tekst die je in eenEmacs venster ziet is altijd onderdeel van een of andere buffer.>> Type C-x 1 om de bufferlijst te verwijderen.Als je de tekst van het ene bestand verandert en dan een ander bestandbezoekt dan wordt het eerste bestand niet bewaard. De wijzigingen blijvenin Emacs, in de buffer die bij het bestand hoort. Het cre-eren ofmodificeren van de buffer van het tweede bestand heeft geen effect op deeerste buffer. Dit is erg nuttig, maar betekent ook dat er een eenvoudigemanier nodig is om het eerste bestand te bewaren. Het zou erg vervelendzijn om er eerst naar terug te moeten gaan met C-x C-f om het dan tekunnen bewaren met C-x C-s. Dus hebben we C-x s bewaar een paar buffersC-x s vraagt voor elke buffer die veranderingen heeft die nog nietopgeslagen zijn, of je de buffer wilt bewaren.>> Voeg een wat tekst toe en type C-x s. Emacs vraagt nu of je de buffer die TUTORIAL.nl heet wilt bewaren. Bewantwoord deze vraag positief door een "y" in te typen (de y van "yes", engels voor "ja").* UITGEBREIDE COMMANDO'S------------------------Er zijn veel meer Emacs commando's dan er op de toetsen van hettoetsenbord passen, zelfs als we hun aantal kunnen vergroten door decontrol of meta toets te gebruiken. Emacs lost dit probleem op met het Xcommando (met de X van eXtensie of uitbreiding). Het X commando komt intwee smaken: C-x teken eXtensie; wordt gevolgd door een teken M-x genaamd commando eXtensie; wordt gevolgd door een naam.Deze commando's zijn in het algemeen nuttig, maar worden minder gebruiktdan de commando's die tot nu toe uitgelegd zijn. Je hebt al twee van dezecommando's gezien: C-x C-f om een bestand te bezoeken, en C-x C-s om hette bewaren. Een ander voorbeeld is het commando om Emacs te verlaten: ditis C-x C-c. (Maak je geen zorgen over het verloren gaan van veranderingendie niet bewaard zijn; C-x C-c vraagt of je veranderde buffers wiltbewaren voordat Emacs daadwerkelijk eindigt.)C-z is het commando om Emacs *tijdelijk* te verlaten, zodat je daarna weerterug kan keren in dezelfde Emacs sessie.Op systemen die deze mogelijkheid bieden, zet C-z Emacs stil: je komt weerterug in de shell, maar Emacs is nog aanwezig. In de meeste shells kan jeEmacs weer activeren met het "fg" commando, of met "%emacs".Op systemen die niet de mogelijkheid bieden om programma's stil te zettencre-eert C-z een subshell onder Emacs om je zo in de gelegenheid testellen andere programma's uit te voeren en daarna weer in Emacs terug tekeren; Emacs wordt dus niet werkelijk verlaten. In dit geval is hetshellcommando "exit" de normale manier om de subshell te verlaten en inEmacs terug te keren.Het moment om C-x C-c te gebruiken is wanneer je uit gaat loggen. Het isook het juiste commando om Emacs te be-eindigen wanneer Emacs opgestartwas door een mail programma of iets dergelijks, aangezien die misschienniet met een stilgezette Emacs om kunnen gaan. Normaal gezien is hetechter beter Emacs stil te zetten met C-z dan om Emacs te verlaten,behalve als je uit wilt loggen natuurlijk.Er bestaan vele C-x commando's. Hier is een lijst van degene die je nu alkent: C-x C-f bezoek bestand C-x C-s bewaar bestand C-x C-b laat bufferlijst zien C-x C-c verlaat Emacs C-x u herstelGenaamde uitgebreide commando's worden nog minder vaak gebruikt, of wordenalleen onder bepaalde omstandigheden gebruikt. Een voorbeeld is hetcommando replace-string, dat in de hele tekst een string vervangt door eenandere string (`to replace' betekent `vervangen'). Als je M-x typt echootEmacs onderaan het scherm `M-x' en moet je de naam van het commandointypen, in dit geval "replace-string". Als je gewoon "repl s<TAB>" typtmaakt Emacs de naam zelf af. Be-eindig het commando met <Return>.Het replace-string commando heeft twee argumenten nodig: de string dievervangen moet worden en de string waarmee die vervangen moet worden.Je sluit elk argument af met <Return>.>> Plaats de cursor op de lege regel twee regels onder deze. Type dan M-x repl s<Return>gewijzigd<Return>veranderd<Return>. Zie hoe deze regel daardoor gewijzigd is. Je hebt elk voorkomen van het woord g-e-w-i-j-z-i-g-d vervangen door "veranderd"; beginnend op de plek waar de cursor staat.* AUTOMATISCH BEWAREN---------------------Als je een bestand veranderd hebt maar het nog niet bewaard hebt, zoudende veranderinge verloren kunnen gaan als het systeem zou hangen ofherstarten. Om je hiertegen te beschermen bewaart Emacs om de zoveel tijdde veranderde tekst automatisch. De naam van het bestand waarin de tekstautomatisch bewaard wordt begint en eindigt met een #. Bijvoorbeeld, alsje het bestand "hello.c" aan het bewerken bent dan wordt de tekstautomatisch bewaard in een bestand dat "#hello.c#" heet. Zodra je hetbestand werkelijk bewaart, wordt het automatisch bewaarde bestand weerweggegooid.Als de computer crasht kan je de automatisch bewaarde tekst terugkrijgendoor de file normal te bezoeken (de originele file, niet de automatischbewaarde), gevolgd door M-x recover file<Return>. Als Emacs vraagt ombevestiging, antwoord dan yes<Return> en de automatisch bewaardeinformatie wordt teruggehaald.* ECHO GEBIED-------------Als je een commando langzaam intypt echoot Emacs de tekens aan deonderkant van het scherm, in een deel dat het "echo gebied" genoemd wordt.Dit gebied bevat de onderste regel van het scherm.* MODE-REGEL------------De regel direct boven het echo gebied heet de "mode-regel". De mode-regelzier er ongeveer zo uit:--**-Emacs: TUTORIAL.nl (Fundamental)--68%------------------------Deze regel geeft interessante informatie over Emacs en de tekst dieje aan het bewerken bent.Je weet al wat de bestandsnaam betekent: het is de naam van het bestanddat je bezoekt. -NN%-- geeft je huidige positie in de tekst aan: NNprocent van de tekst bevindt zich boven het scherm. Als het bestand vanafhet begin op het scherm staat, staat er --Top-- in plaats van --00%--.Als het laatste stuk tekst op het scherm staat, zal er --Bot-- staan (van`bottom', `onderkant' in het nederlands). Als de tekst zo klein is dat zevolledig op het scherm past staat --All-- in de mode-regel.De sterretjes aan het begin betekenen dat je de tekst gemodificeerd hebt.Direct na het bezoeken of bewaren staan er gewoon streepjes.In de mode-regel staat tussen haakjes in welke mode je aan het werkenbent. Tenzij een andere mode gewenst is, zit je in de "Fundamental" modezoals nu (`fundamental' is `basis' in het nederlands). Een dergelijkemode heet een hoofdmode (`major mode' in het engels).Emacs heeft verschillende hoofdmodes. Sommige daarvan zijn bedoelt voorhet bewerken van verschillende talen of soorten tekst, zoals bijvoorbeeldLisp mode, Text mode, etc. Op elk moment is er altijd precies een modeactief, en de naam daarvan staat in de mode-regel, op de plaats waar nu"Fundamental" staat.Elke hoofdmode zorgt ervoor dat sommige commando's zich anders gedragen.Zo bestaat er een commando om een commentaar in een programma te typen, enaangezien elke programmeertaal een ander idee heeft over hoe commentaareruit moet zien, moet elke hoofdmode op een andere manier het commentaarbeginnen. Elke hoofdmode is de naam van een uitgebreid commando, en metdat commando schakel je om naar die hoofdmode. Zo is bijvoorbeeldM-x fundamental-mode het commando om naar de basismode om te schakelen.Als je nederlandse of engelse tekst wil gaan bewerken, zoals bijvoorbeelddit bestand, kan je beter "text mode" gebruiken, de mode om tekst in eengewone taal te bewerken:>> Type M-x text-mode<Return>.Wees gerust; geen van de commando's die je geleerd hebt zorgen voorgrondige veranderingen in Emacs. Een van de dingen die je kan merken isbijvoorbeeld dat M-f en M-b nu apostrophes als onderdeel van een woordbeschouwen. In de vorige, Fundamental, mode behandelen M-f en M-b deapostrophe als ruimte tussen twee woorden.Het is gebruikelijk dat hoofdmodes dergelijke subtiele verschillen hebben.De meeste commando's doen dus min of meer hetzelfde in elke hoofdmode.Met het commando C-h m kan je de documentatie over de huidige hoofdmodelezen.>> Gebruik C-u C-v een paar keer om deze zin in de buurt van de bovenkant van het scherm te krijgen.>> Type C-h m om te zien hoe Text mode verschilt van Fundamental mode.>> Type C-x 1 om de documentatie van het scherm te verwijderen.Hoofdmodes heten hoofdmodes omdat er ook bijmodes zijn. Bijmodes zijngeen alternatieven voor hoofdmodes; het zijn slechts kleine modificatiesdaarvan. Elke bijmode kan aan- of uitgezet worden, onafhankelijk vanandere bijmodes en onafhankelijk van de hoofdmode. Je kan dus nul, een,of willekeurig veel minor modes gebruiken.Een nuttige bijmode voor het bewerken van tekst in een natuurlijke taal,zoals nederlands, is Auto Fill mode (`auto fill' betekent automatischuitvullen). Wanneer deze mode aanstaat breekt Emacs automatisch een regeltussen twee woorden af als de regel anders te lang zou worden.Je kan Auto Fill mode aanzetten met M-x auto-fill-mode<Return>. Als dezemode al aanstaat, kan je hem uitzetten met M-x auto-fill-mode<Return>.Als de mode uitstaat zet dit commando de mode aan; als ze aanstaat zet ditcommando de mode uit. Het commando zet de mode steeds aan en uit zet (`totoggle' in het engels).>> Type nu M-x auto-fill-mode<Return>. Type nu vele malen asdf op een regel zodat je kan zien dat de regel in twee-en gesplitst wordt. Er moeten wel spaties tussen de woorden staan, omdat de Auto Fill mode alleen op spaties de regel breekt.De rechter kantlijn staat meestal op 70 tekens, maar die kan je veranderenmet het C-x f commando. Dit commando accepteert een numeriek argumentdat de gewenste kantlijn is.>> Type C-x f met 20 als argument (C-u 20 C-x f). Type wat tekst en zie dat Emacs de regels afbreekt bij 20 tekens. Zet de kantlijn nu terug op 70, weer met C-x f.Als je de tekst midden in een regel verandert vult Auto Fill modede regel niet opnieuw.Om een paragraaf opnieuw te vullen, type M-q (Meta-q) terwijl decursor in de paragraaf staat.>> Plaats de cursor in de voorgaande paragraaf en type M-q.* ZOEKEN--------Emacs kan strings zoeken (een string is een rij tekens), zowel volgend opde cursorpositie, als eraan voorafgaand. Het zoeken van een stringverplaatst de cursor naar de volgende plaats waar de gezochte stringvoorkomt.Het zoekcommando van Emacs is anders dan de zoekcommando's van de meestetekstverwerkers; het zoekt incrementeel. Dit betekent dat het zoekengebeurt tijdens het intypen van de gezochte string.Het commando om vooruit zoeken te starten is C-s (met de `s' van `tosearch', i.e. zoeken); C-r start het zoeken achteruit (met de `r' van`reverse' of achteruit). WACHT nog even met ze te proberen.Als je C-s typt verschijnt de string "I-search" in het echo gebied. Ditbetekent dat Emacs bezig is met een `incremental search' (incrementelezoekopdracht) en wacht op het intypen van de zoekstring. <RET> be-eindigthet zoeken.>> Type nu C-s om het zoeken te start. Type nu, LANGZAAM, een letter per keer, het woord `cursor', met een pauze na elke letter zodat je kan zien wat er met de cursor gebeurt. Je hebt nu eenmaal naar het woord `cursor' gezocht.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -