Emacs Beginner's HOWTO Jeremy D. Zawodny <jzawodn@wcnet.org> v1.7, 14 October 1999 rc ¤ <cork@ops.dti.ne.jp> v1.7j, 2 February 2000 ±Ì¶Í Linux [UÉ Emacs GfB^ðÐî·éàÌÅ·B±Ì¶Å Í vi â½æ¤ÈGfB^É¢ÄAµÍmÁÄ¢éƼèµÄ¢Ü·B ±Ì¶ÌÅVÅÍ http://www.wcnet.org/jzawodn/emacs/ ©çüèÂ\Å ·B ______________________________________________________________________ Ú 1. Cg_NV 1.1 ì 1.2 ÎÛÆ·éÇÒÉ墀 1.3 Emacs Æͽ©? 1.3.1 |[gÆo[W 1.3.2 Emacs ðüè·é 2. Emacs ÌÀs 2.1 Emacs ÌJn & I¹ 2.1.1 ©½Ú 2.1.1.1 j [o[ 2.1.1.2 Xe[^Xo[Æ~jobt@ 2.2 pê 2.2.1 obt@ & t@C 2.2.2 |Cg & [W 2.2.3 EBhE 2.2.4 t[ 2.3 L[{[hÌî{ 2.3.1 R}hL[ (Meta, Esc, Control, Alt) 2.3.2 obt@ÌÌÚ® 2.3.3 î{IÈÈR}h 2.3.4 ^uâ® 2.4 ` [gAAwv & Info 3. Emacs Ì[h 3.1 W[[h vs. }Ci[[h 3.2 vO~O[h 3.2.1 C/C++/Java 3.2.2 Perl 3.2.3 Python 3.2.4 »Ì¼ 3.3 I[TO 3.3.1 Xy`FbN (ispell [h) 3.3.2 HTML (html-helper [h) 3.3.3 TeX (tex-mode) 3.3.4 SGML (sgml-mode) 3.4 ¼Ì[h 3.4.1 o[WÇ (vc [h) 3.4.2 VF[h 3.4.3 Telnet and FTP 3.4.4 Man 3.4.5 Ange-FTP 4. Emacs ÌJX^}CY 4.1 êIÈJX^}CY 4.1.1 Ïãü 4.1.2 t@CÖA 4.2 .emacs t@CÌgp 4.3 pbP[WÌJX^}CY 4.4 X ÌEBhE\¦ 5. lCÌ épbP[W 5.1 VM ([) 5.2 Gnus ([Æj [X) 5.3 BBDB (A rollodex) 5.4 AucTeX (ठ1 ÂÌ TeX [h) 6. ¼Ìîñ¹ 6.1 Ð 6.1.1 Learning GNU Emacs 6.1.2 Writing GNU Emacs Extensions 6.1.3 Programming in Emacs Lisp: An Introduction 6.1.4 The GNU Emacs Lisp Reference Manual 6.2 Web TCg 6.2.1 EMACSulation 6.3 j [XO[v 6.4 [OXg 6.5 Emacs Lisp A[JCu 7. NWbg ______________________________________________________________________ 1. Cg_NV 1.1. ì Copyright (C) 1998 - 1999 Jeremy D. Zawodny. Permission to distribute and modify this document is granted under the GNU General Public License. An on-line copy is available at http://www.gnu.org/copyleft/gpl.html 1.2. ÎÛÆ·éÇÒÉ墀 ±Ì¶ÍAEmacs É¢ĿåÁÆwñ¾èµ½èµ½¢ÆvÁÄ¢é Linux [UðÎÛɵĢܷB±Ì¶ÌnÜèÍAÀÛɪ Toledo Area Linux User Group - http://www.talug.org/ - ÌWïÅsÁ½ÈPÈ ` [gAÌTvƵÄŵ½B»êÈA±Ì¶ÍªR~ jeB ©çó¯æÁ½LvÈtB[hobNÉæÁĵ¸ÂWµÄ«Üµ½BÚ ×ÍNWbgÌßðQƵľ³¢B »¤¢¤í¯ÅAÀã±Ì¶ÉÍ Linux ÁLÌªÍ èܹñB± ̶ÍÀãA·×ÄÌ Unix nÌ Emacs ÆAMicrosoft Windows Å®ì ·é Emacs ɳ¦àÄÍÜèÜ·Bµ©µA±Ì¶Í Linux Documentation Project ÌêÈÌÅAͱ̶ª Linux [UÌ½ß ÉJ³ê½Æ¢¤±Æð壵ܷBȺÈçA±Ì¶ÍͳX»¤Å Á ½©çÅ·B »µÄÅãÉAÈÈ ``Linux'' æèà GNU/Linux Æ¢¤¼ÌðDÞlÍA ±ÌhL gÉ»êé·×ÄÌ Linux ÌãíèÉ GNU/Linux ðSÌÅ ©RÉp¢Ä¾³¢ (»Ìl½¿Ìv¢Í http://www.gnu.org/gnu/linux- and-gnu.html Å©é±ÆªÅ«Ü·)BÍ»Ìl¦ÌwãÉ é_Ƹ_ ɯӵȢ±ÆÍȢŷªA GNU/Linux ƱÆð¢éæ¤Éµæ ¤ÆÍv¢Ü¹ñB 1.3. Emacs Æͽ©? Emacs Íl»ê¼êÉæÁÄáÁ½àÌƵĨ¦çêÜ·BNÉq˽©É æÁÄAÌÔÌÇêÅàó¯æéÂ\«ª éŵå¤B o eLXgGfB^ o [NCAg o j [X[_ o [hvZbT o @³ o J« o Ƚª]ÞàÌÈçÇñÈàÌÉÅàÏ»µÜ·! µ©µA±±Åͽ¿ÌÚIÉí¹ÄAEmacs ÍeLXgGfB^Å é Æ¢¤±Æɵܵå¤B·ÎçµZÊÌ«eLXgGfB^Å·B Emacs ª½Å é©É¢ÄÍAãÅ¢µÜµå¤B Emacs Í Richard Stallman (Free Software Foundation - http://www.fsf.org/ Æ GNU project http://www.gnu.org/ ÌnÝÒ) ÉæÁÄ©ê½àÌÅAÞÍ»Ý Åà Emacs ðeiXµÄ¢Ü·B Emacs Í Linux (Æ Unix) ÅgíêÄ¢éAñíÉlCª èÍÈeLX gGfB^Ì 1 ÂÅ·B Emacs ÍlCɨ¢Ä vi ÉàЯðÆèܹñB Emacs ÍåÈ@\AJX^}CYÌeÕ«A»µÄoOÌȳÅmçêÄ ¢Ü·B Emacs ̽ÌÁ¥ÆJX^}CYÌeÕ«ÍAÀÛÉÇÌæ¤É Emacs ªÝv³êÀ³ê½©ÌÊÆ¢¦Ü·B ÜèÚ×Éͧ¿üçÈ ¢ÅAEmacs ª ``PÈéGfB^'' ÅÍȢƢ¤±ÆðÈÉwEµ½¢ v¢Ü·B Emacs ÍAåªð LispÆ¢¤vO~O¾êÅ©ê½G fB^Å·B Emacs ÌSªÍAC Å©ê½·×ÄÌ@\ðÁ½ Lisp C^v^ÉÈÁĢܷB Emacs ÌÅàî{IÅáxȪÌݪ C Å©êĢܷBGfB^ÌÙÆñÇÍÀÛÉ Lisp Å©êĢܷB ]ÁÄA éÓ¡Å Emacs ÍAJX^}CYAg£A»µÄ®ìðÏX·é ½ßÉgpÅ«é ``gÝÝÌ'' vO¾êð®õµÄ¢éÆ¢¦Ü ·B Emacs ÍܽAoñÁÄ¢éÅàÅàâGfB^Ì 1 ÂÅ·B 20(?)N ÈãÌ©ç½ÌvO}ÉæÁÄgíêÄ«½Æ¢¤ÀÍA½ÌAh I (add-on) pbP[WªpÂ\Å é±ÆðÓ¡µÄ¢Ü·B Stallman ªÅÉ Emacs Éæè|©ènß½É͵IJÉàvíÈ©Á ½¾ë¤±ÆªA±¤¢Á½AhIpbP[WÉæÁÄÅ«éæ¤ÉÈÁÄ ¢Ü·B±êÉ¢ÄÍãÌßÅྵܷB Emacs É¢ÄÌæèÇ¢TvAðjA»Ì¼ÖAµ½É¢ÄÌ½Ì web TCgⶪ¶ÝµÜ·B±±Å»êç̽ðྷéæèÍA±Ì ¶Ì ``¼Ìîñ¹'' ÌßÉ éê̢©ð²×ÄÝé±Æð©ßÜ ·B 1.3.1. |[gÆo[W ñíÞÌ Emacs GfB^ª éÆ¢¤±ÆÍwEµÄ¨ÉlµÜ· - GNU Emacs Æ XEmacs Å·BÇ¿ç௶`ðó¯p¬AÙÆñǯ¶@\ð¤ LµÄ¢Ü·B±Ì¶Í GNU Emacs (ÁÉo[W 20.3) ÉÅ_ðÄ Ä¢Ü·ªA±±ÅÇÞÅ ë¤åªÌ±ÆÍAXEmacs âÈOÌo[W Ì GNU Emacs ÅàÇ¢ï¢ÉpÅ«éŵå¤B±Ì¶SÌÉí ½ÁÄAÍÈÉ ``Emacs'' ðp¢Ü·Bª ``Emacs'' ðp¢éÉÍ ¢ÂàA»Ì±ÆðSɯßĨ¢Ä¾³¢B 1.3.2. Emacs ðüè·é Emacs ðèÉüêéÌÍÈPÅ·BൠDebian, RedHat, Slackware é¢ Í»Ì¼ÌêÊIÈ Linux fBXgr [VðgÁÄ¢éÌÅ ê ÎA Emacs ͨ»çAfBXgr [VÌfBA©çCXg[ Å«éIvVpbP[WÆÈÁÄ¢é͸ŷBൻ¤Åȯê ÎAEmacs Ì\[XR[hðÁÄ«Ä©ªÅRpC·é±ÆàÅ«Ü ·B³µ¢wèÅ GNU web TCgðKêľ³¢ - http://www.gnu.org/software/emacs/emacs.html B 2. Emacs ÌÀs 2.1. Emacs ÌJn & I¹ VQÌ[UÅ êÎA¢ë¢ë¢¶Á½è ¿åÁƵÄݽ¢AÆ¢¤ R¾¯Åà Emacs ðN®µÄݽ¢Åµå¤BÅàAÐÆ½Ñ Emacs ðN ®µÄµÜÁ½çAI¹³¹½¢¾¯ÈÌÉAǤµ½çæ¢Ì©ª©çÈ Èéŵå¤B¾©çAܾ Emacs ðgÁ½±ÆªÈ¯êÎA¢Ü±±Å âÁÄÝľ³¢BVFvvgÅAemacs Æ^CvµÄ enter ð ÅÁľ³¢B Emacs ªN®·éŵå¤BN®µÈ¢êÍACXg [³êĢȢ©ApXÉÜÜêĢȢ©Ì¢¸ê©Å·B ¢Á½ñ Emacs ðN®µ½çA¡xÍI¹û@ðméKvª èÜ·B Emacs ðI¹·é½ßÌL[üÍÍ C-x C-c Å·B C-x Æ¢¤\L ÍACtrl L[ðµ½ÜÜ x ð·±ÆðÓ¡µÄ¢Ü·B±ÌêÍA³ çÉ Ctrl ðµ½ÜÜ c ð·±ÆÅ Emacs ðI¹Å«Ü·B Emacs ÅgíêéL[üÍÍAß̤¿ÍAí¯ªí©çÈÄAÙ¿Èà ÌÅAêÉÅ·ç é©àµêܹñ -- ÁÉ vi [UÅ êÎB vi ÆÙ ÈèAEmacs ÍeLXgÒWÆR}hs̽ß̪£µ½[hÆ¢¤à ÌÍÁĢܹñB vñ·éÆ - emacs Å Emacs ªN®µÜ·B C-x C-c Å Emacs ªI¹µÜ ·B 2.1.1. ©½Ú Emacs ªN®µ½Æ«AEmacs Í X ÌEBhE (àµà X Window System ÅÍÈÄR\[ÅÀsµÄ¢éÈçÎAXN[) SÌðg¢s· ŵå¤BÅãÉ¡ÉÀñ¾j [AXN[ÌCªÉ¢Â© ÌeLXgAÅºÉ 2 ÂÌsª é̪©êéŵå¤B ±Ì ASCII Éæéª}Ìæ¤ÉÈèÜ·: +----------------------------------------------------------------------+ |Buffers Files Tools Edit Search Mule Help | | | |Welcome to GNU Emacs, one component of a Linux-based GNU system. | | | | | | | | ... | | | |---1:---F1 *scratch* (Lisp Interaction)--L1--All-------------| |For information about the GNU Project and its goals, type C-h C-p. | +----------------------------------------------------------------------+ ß: Emacs ÍÊAXN[/EBhESÌðèßÜ·BÍãÌáÅ ÍA±±Ìêðßñ·é½ßɬ³`ʵĢܷB Emacs ðN®·é ÆܸAEmacs ÌEFJbZ[Wà\¦³êÜ·BÍ»êàȪµ ÄA``...'' ð»ÌãíèɢĢܷBEFJbZ[WÍAÈPÉ ICwvÆÖAÚ𦷾¯ÅÈAgpµÄ¢é Emacs Ì ³m Èo[W঵ܷB 2.1.1.1. j [o[ Emacs ÌêÔãÌCÌC^tF[XÍj [Å·Bàµà X ðÀs µÄ¢êÎA}EXÅANZXÅ«éÌȪçÌv_Ej [Å é± Æªí©éŵå¤B³àÈÎAj [ÉANZX·é½ßÉL[{[h V[gJbg (±±ÅÍæ赢ܹñ) ðg¤Kvª èÜ·B 2.1.1.2. Xe[^Xo[Æ~jobt@ Emacs C^tF[XÌźsÌ 2 s̤¿AãÌsÍ{¿IÉÍXe[^ Xo[Å·B»±ÍAìƵĢéobt@ª Emacs ÌÇÌ[hÉÈÁÄ ¢é©É¢ÄÌîñâA¼Ì½ÌîñðÜñŢܷBÐÆܸA±êÍ »¤¢¤à̾ÆvÁĢľ³¢B źsÍ ~jobt@ ÆÄÎêÜ·B»±ÍA¿å¤ÇæÙÇྵ½Xe [^Xo[ÉæÁÄCobt@ƪ¯çêĢܷB~jobt@Í Emacs Ì ``R}hC'' Å éÆl¦é±ÆªÅ«Ü·B»± ÍAEmacs É^¦½R}hª\¦³ê½èAÀsÉηé½ÆµÄóÔ bZ[Wªoͳê½è·éêÅ·B ªXe[^Xo[ÆÄñÅ¢éà̪AEmacs ÌÖA¶ÅÍAÊA[ hCÆÄÎêÄ¢é±ÆÉCtŵå¤B»±ÍA»ÝÌútÆA sAt@CTCYA»µÄÙÆñǽÅ໱ũ½¢ÆvÁÄ¢éàÌ Æ¯¶æ¤ÉA»ÝÌ[hÉ墀 Emacs ª\¦µÄ¢éêÅ·B 2.2. pê ±ÌßÅÍAEmacs É¢ÄÇñ¾ègÁ½è·éÉö·éÅ ë¤AÅ àî{IÈ Emacs Ìpêðæ赢ܷB 2.2.1. obt@ & t@C ¢Â©ÌGfB^ÆÍÙÈèAEmacs Åt@CðJ¢½ÉÍA»Ìt@ C©ÌÍüÍìÆÅÍ ``open'' óÔÉÈÁĢܹñB»Ìãíè ÉAEmacs ÍÌ obt@ Ét@CðÇÝÝÜ·Bobt@ðÒ WµÄf[^ìÆðsÁÄ¢éÔAfBXNãÅͽàÏ»µÜ¹ñBÀÛÉ obt@ðÛ¶·é¾¯AfBXNãÌt@CªXV³êÜ·B±Ìû@ ÉÍ_à_à èÜ·ªAåØȱÆÍA±Ìæ¤É®¢Ä¢é±Æð ð·é±Æ¾¯Å·B Emacs ̶A[hApbP[WA»Ì¼ÅgíêÄ¢é ``obt@''Æ ¢¤pêðÚÉ·é±ÆÉÈéŵå¤Bobt@Í ``»ÝÉ é t@CÌRs['' ðÓ¡·é±ÆðÍÁ«èÆF¯µÜµå¤B»¤A obt@ÍK¸µàfBXNãÌÁèÌt@CðwµÄ¢ÈÄàæ¢ñÅ ·BµÎµÎ Emacs ÍAÀsµ½R}hÌÊƵÄobt@ðìèÜ ·B»Ìæ¤Èobt@ÉÍAR}hÌÊAIðpÌXgÈǪ èÜ ·B 2.2.2. |Cg & [W Emacs ÁL̾tƵÄA|Cg Æ¢¤¾tðµÎµÎ©·«·éÅµå ¤BêÊIÈpêÅÍA|CgÍJ[\Å·BßÄ Emacs Éæè|© éÍA|CgÆJ[\ÌÔÌÀÛÌæÊͨ»çdvÅÍȢŷB µ©µADïSð³¦çêÈ¢ÌÅ êÎA»êÉ¢ÄͱÌæ¤Él¦ ľ³¢BJ[\Í|CgÌo\»Å·BJ[\Í¢Âà»ÝÌ obt@ÌÁè̶ÌÊuÌ``ã''É èÜ·BêûA|CgÍAob t@Ì ¶ÌÔÌêɶݵܷBÂÜèAàµàPê ``the'' ̶ `h' ãÉJ[\ª éêA|CgÍ `t' Æ `h' ÌÔÉ éÆ¢¤±Æ ªÅ«Ü·B ½Ìß ÌGfB^ƯlAEmacs Í»ÝÌobt@Ì éªÉ½ß (C fgAXy`FbNAJbgARs[Ay[XgAc) ðÀs·é±Æ ðµÄ¢Ü·BL[{[hâ}EXðgÁÄeLXgÌubNðnCC g ( é¢Í ``}[N'') ·é±ÆªÅ«AeLXgÌIð³ê½ubN ÉεĽßðÀs·é±ÆªÅ«Ü·B Emacs ÅÍAeLXgÌ»Ìæ¤ ÈubṈÆð [WÆÄÑÜ·B 2.2.3. EBhE ³ÄA±êÍÈO GUI ðgpµ½±ÆÌ él𵬳¹éŵå¤B Emacs Í GUI ÆEBhE}l[WªêÊIÉÈéæèà¸ÁÆÈO©ç J³êÄ¢½±Æðv¢oµÄ¾³¢B Emacs ÅÌ EBhE ÍAobt@ª\¦³êÄ¢éXN[ÌÌæ̱ ÆÅ·BÅÉ Emacs ðN®µ½Æ«AXN[ÉÍ 1 ÂÌEBhEª èÜ·B¢Â©Ì Emacs Ì@\ (wvâhL g) ÍAµÎµÎ [ êIÉ ] Emacs ÌXN[ÉÇÁÌEBhEðJ«Ü·B Emacs ÌEBhEÍ GUI Ì´oÅÌ X ÌEBhEÆͽÌÖWà èÜ ¹ñB Emacs Ìobt@ð\¦·é½ßÉÇÁÌ X ÌEBhEðJ±Æ ªÅ«A2 ÂÌt@Cð¡ÉÀ×Äär·é±ÆàÅ«Ü·B»êçÌVµ ¢ X ÌEBhEÍAEmacs ÁL̾tÅ t[ÆÄÑÜ·BðÇñÅ ¾³¢B 2.2.4. t[ Emacs ÅÍAt[ Í Emacs Ìobt@ª\¦³êÄ¢éAÊXÌ X Ì EBhEÅ·Bµ©µA»Ì¼ûÆ௶ Emacs ÌZbVÌêÅ ·B»ÌUé¢ÍANetscape Navigator Å Alt+N ðµ½ÉN±é±Æ ÆA·±µ (ÙÆñÇÅÍÈ¢) ĢܷB 2.3. L[{[hÌî{ ±ÌßÅÍ Emacs ÌL[{[hìÌî{ðæ赢ܷB·×ÄÌÍÈ GfB^ƯlAEmacs ÅÅ«é±ÆÌ·×ÄÍAÈ¢L[üÍÉèÄ çêĢܷB àµà vi [UÅ êÎAãÌsAºÌsA¶ÌOûüA¶ÌãûüÖ ÌÚ®É k, j, l, h L[ðg¤l¦ÉµêÄ¢é©àµêܹñBÀAvi ÅgpÂ\ȽÌL[Ìg¹ðgÁÄt@CðõKÉìÅ«éæ¤É ÈéÜÅÉAûKÉÔ©TÔ©¯½©àµêܹñB Emacs ௶ŷBwK·éL[üÍÆR}hÍá¢Ü·B¿å¤Ç vi Ì æ¤ÉA½Ìdð±È·ÉÍî{ðK¾·éKvª 龯ŷBªo Âɵ½ªÁÄAäÁèÆm¯ðL°ÄA¨ðißéæ謢û@ð©Â ¯é±ÆªÅ«éæ¤ÉÈéŵå¤B 2.3.1. R}hL[ (Meta, Esc, Control, Alt) wKðnßÄÔàÈ·éÆAEmacs Í¡L[Ìg¹ðåÊÉgí¹éæ ¤ÉÈèÜ·B Emacs Í vi Ìæ¤È[hðÁ½GfB^ÅÍÈ¢Ì ÅAJ[\𮩵½èR}hðÀsµ½è·éOÉA ``R}h[ h'' Ü½Í ``ÒW[h'' ÌÇ¿çÉ éÌ©l¦éKvÍ èܹñB »ÌãíèA³µ¢L[Ìg¹ð·±ÆÅA(ÊÍ) Emacs ª½ßðÀ sµÜ·B Emacs ÅÅàÇg¤L[ÍAÊ C (Control Ü½Í Ctrl) â M (Meta) ƵĶŪµÄ©êÜ·BÅßÌ PC ÌÙÆñÇÍ Ctrl Æ\¦³ê ½ 1 ÂÈãÌL[ðÁÄ¢éÌÅ·ªAMeta Æ\¦³ê½L[ðÂàÌ ÍÙÆñÇ èܹñBSÌÅAMeta L[ð Esc Ü½Í Alt ÌÇ¿ç© Éüê·¦½¢Åµå¤B½ÌW\¬ÅÍAEsc Æ Alt ̼ûÆàA{ ¿Iɯ¶±ÆðµÜ·B Emacs ÉÖA·é¶Å C-x f Æ¢¤Lqð©Â¯½êA»êÍ ``Ctrl-x ðµÄ©ç f ð·'' ±ÆðÓ¡µÜ·BൠM-x shell Ìæ¤ÈLq ð©Â¯½êA»êÍ ``alt-x ðµÄ©çPê shell ðüÍ·é'' ± ÆðÓ¡µÜ·B SÒÉÆÄàðɧÂR}hÍAM-x apropos Ü½Í C-h a Å·B apropos ÍA·×ÄÌÖÉεÄEmacs ÌIC¶ð²×Aü͵½ ³K\»ÉεÄõµÜ·Bt[ (frame) ÉÖAµ½·×ÄÌR} hð©·éÅÇÌû@ÍAPÉAC-h a Ƶĩç frame ƵܷB 2.3.2. obt@ÌÌÚ® ³ A±êÅà¤L[ìÌÏıÈȪ\ḺÆͪ©Á½Åµå¤© çAobt@àÌÚ®ÉÖ·éêÊIÈL[üÍÌêð±±É¦µÜ·: L[üÍ ®ì ----------------------------------- C-p 1 sãÉÚ® C-n 1 sºÉÚ® C-f 1 ¶OÉÚ® C-b 1 ¶ãÉÚ® C-a sÌæªÉÚ® C-e sÌöÉÚ® C-v 1 æʺÉÚ® M-v 1 æÊãÉÚ® M-f 1 PêOÉÚ® M-b 1 PêãÉÚ® M-< obt@ÌæªÉÚ® M-> obt@ÌöÉÚ® C-g »ÝÌìðI¹ ----------------------------------- \zÌÊèAJ[\L[ ( é¢ÍîóL[) ÍÊͲúÒÌÊèÉ« Ü·B Backspace Í»¤ÅÈ¢©àµêܹñB»êÉÍAܽÊÌbª éÌÅ·B :-( 2.3.3. î{IÈÈR}h ³ÄA±êÅobt@àÅÌÚ®û@Íí©èܵ½Bt@CðJ¢½èÛ ¶µ½è·éû@ÍǤ·éÌŵå¤? õÍǤ·ê΢¢Ìŵå¤? ±êçÍî{IÈR}hÅ·B »êçÌR}hÌà¾É·®ÉäOÉA±êçªÇÌæ¤É@\µÄ¢é ©É¢ÄÈPÉGêĨKvª éŵå¤B Emacs Ì·×ÄÌ ``R}hL[üÍ'' (M-x ½© é¢Í C-½©) ÍÀ ÛAEmacs ÌêÅ éÖÖÌV[gJbgÉÈÁĢܷB»êçÌÖ ÍAM-x Ö¼ ðü굀 Enter ð·ÆAÖÌ@\ðÄ×Ü·BL[ {[hV[gJbg (ൠêÎ) ÅàA»ÌÖðpÅ«Ü·B á¦ÎAfBXNÉobt@ðÛ¶·éÖÍ save-buffer ÆÄÎêÜ·B ftHgÅÍA»êÍ C-x C-s ÉàèÄçêĢܷBÂÜèA»Ý Ìobt@ðÛ¶·é½ßÉÍAV[gJbg (C-x C-s) © M-x save- buffer ÌÇ¿ç©ðg¦ÎæAÇ¿çÅàS¯¶Êª¾çêÜ·B êÊIÈÖÌ·×ÄÍAftHgÅL[{[hV[gJbgðÁÄ¢ Ü·B»êç̢©ðÉñLµÜ·B L[üÍ Ö à¾ ------------------------------------------------------------------- C-x C-s save-buffer »ÝÌobt@ðfBXNÉÛ¶·éB C-x u undo ÅãÌìðæèÁ·B C-c C-f find-file fBXN©çt@CðJB C-s isearch-forward ¶ñðOûõ·éB C-r isearch-backward ¶ñðãûõ·éB replace-string ¶ñÌõÆu·ðs¤B replace-regexp ³K\»ðgÁÄAõÆu·ðs¤B C-h t help-with-tutorial C^NeBuÈ` [gAðg¤B C-h f describe-function ÖÌwvð\¦·éB C-h v describe-variable ÏÌwvð\¦·éB C-h x describe-key L[üͪ½ð·éàÌÅ é©\¦·éB C-h a apropos ¶ñ/³K\»Ìwvðõ·éB C-h F view-emacs-FAQ Emacs Ì FAQ ð\¦·éB C-h i info Emacs ̶ðÇÞB C-x r m bookmark-set ubN}[NðÝè·éBõÉð§ÂB C-x r b bookmark-jump ubN}[NÉÚ®·éB ------------------------------------------------------------------- ½³ñÌÖðµÄ¢¤¿ÉA½Ìà̪A³çÈéüÍð£·±Æ ÉCtŵå¤B»êçüÍÍ¢Âà~jobt@àÅsíêÜ·B±êÍ vi Å : R}hðA é¢Í¨CÉüèÌ Unix VFàÌR}hÌå ªðgÁ½Æ«ÆĢܷB Emacs ͶÊèApÂ\ȽSàÌgÝÝÖðÁĢܷBãÌê ÍAª¢ÂàÌæ¤ÉgÁÄ¢éàÌðã\·éA²¬³ÈTvÅ ·BªãÅÈPÉq×½àÌÉ¢ÄÌAæè®SÈpÂ\ÈÖÌê Æ®àøȶÉ¢ÄÍAICwvð©Ä¾³¢B 2.3.4. ^uâ® ½ÌêÊIÈ Unix VF (bash, csh, tcsh, ...) ƯlÉA Emacs Í Tab L[ÉæéR}hâ®ðñµÄ¢Ü·BÀÛAbash ÌR}hâ® Í Emacs ðÜ˵Äìçêܵ½B bash ̱Ì@\ðgÁÄ¢éÈçÎA ·ÅÉèÉéõñÅ¢é±Æŵå¤B ½Æ¦ÎAM-x search Ƶĩç Tab ðµÄÝľ³¢BEmacs ÍnC tðÇÁ·é͸ŷB±Ì®ÍA¡Ìâ®ó⪠èASÄÌêÉ ¨¢ÄnCtª±±Æð¦µÄ¢Ü·B Tab ðà¤êx·ÆAâ®ó âÌêª\¦³êÜ·BVµ¢EBhE É\¦³êéÆ¢¤_ÉÚµ ľ³¢B»ÌÊAêIÉA\¦ª 2 ÂÌEBhEɪ©êÜ ·B1ÂÍÒWÌobt@ðÜÞEBhEÅAà¤êÂÌEBhEÉÍ ``search-'' Ìâ®óâêª\¦³êÄ¢éÆv¢Ü·Bâ®ðI¹µ ÄVµ¢EBhE𶽢ÌÅ êÎAC-g ðµÄà\¢Ü¹ñB 2.4. ` [gAAwv & Info Emacs ÍA·×ÄÌlªmé׫@\ÆÖÌî{IÈÒWìÆðêÊèwÔ ½ßÌAIC` [gAðÜñŢܷB»êÍܽAEmacs ż Ìwv@\ðg¤û@àྵĢܷB àµà Emacs ÌK¾É^ÊÚÉæègÞÂàèÅ êÎA` [gAð êÊèâÁÄÝé±Æð©ßÜ·BãÌ\Ŧµ½ÊèAC-h t Å` [ gAÉüêÜ·B` [gAÍ»ê©gªâèûÌà¾ÉÈÁĨ èAÜ³É Emacs ðnßæ¤Æ·élªËç¢Å·B ó: ú{ê` [gAðÀs·éÉÍA C-u M-x help-with-tutorial ( Ü½Í C-u C-h t ) ÌãA Japanese ðü͵ܷB àµà X Å Emacs ðÀsµÄ¢éÈçÎAHelp Æ\¦³ê½j [ª j [o[ÌêÔEÉ é±ÆÉCÃŵå¤B Help j [ð²×ê ÎAL[{[hVbgJbgªt¢Ä¢éÚª é±ÆA»êªj [ ÌE¤Éê\¦³êÄ¢é±Æªí©éŵå¤B ÅãÉAEmacs ÅpÅ«é¶ÌÊð©é½ßÉAInfo (Emacs ̶u EU) ðN®·é M-x info Ü½Í C-h i ðµÄÝé׫ŵå¤B 3. Emacs Ì[h Emacs Ì[hÍAlXÈóµÅÌgpɨ¢ÄIܽÍItÉ (à¿ë ñAJX^}CYà) Å«éAܽÊÌUé¢Æ@\Å·B¶ðA¢ ë¢ëȾê (C, C++, Perl, Python, Java »Ì¼½) ÅvO~O ð·éAz[y[Wðì¬AE-mail ðéA Usenet j [XðÇÞA\ è\A»µÄQ[ÅVÔ.. [h±»ªA éêÂÌGfB^ (Emacs) ðA±êç·×ĪµÖɱȹéæ¤ÉµÄ¢éàÌÅ·B Emacs Ì[hÍAPÉ¢ëñÈû@Å Emacs ðg£AÏXA»·é Lisp R[hÌCuÅ·B 3.1. W[[h vs. }Ci[[h î{IÉ 2 íÞÌ[h - W[E[hÆ}Ci[E[hª èÜ ·B±êçÌæÊðð·é±ÆÍAItÆIð½x©ÀÛɵÄÝéÜ ÅÈPÅÍ èܹñªAâÁÄÝܵå¤B é_ÅLøÈW[[hÍ 1 ÂÌÝÅ·BtÉA½Ì}Ci[ [hÍA¯É®©¹Ü·BW[[h;êܽÍÁèÌÉη éXüª èA}Ci[[hͽÌɤʷéAæ謳êÊIÈ ÉεܷB åÌÌTvðm©ßé½ßÉAáðµÜµå¤BÌȪçÌÊÌeLXg t@Cð¢Ä¢éAªåÏÇg¤[hª èÜ·B text-mode Æ¢¤àÌÅ·B±Ì[hÍAREADME t@CÌæ¤Èñè^eLXgð ½ßÉÝv³êĢܷB±Ì[hÍAÇÌæ¤ÉPêÆið¯Ê· é©É¢ÄðµÄ¢ÄAÊíAªÊÌL[üÍìðgÁ½ÍA ªúÒµ½Êè̱ÆðµÄêÜ·B ªN©Ì½ßÉeLXgðÆ«ÍAêÊÉ©f¦·éà̪«½¢Å ·BKØÉ[hbvµÄÙµ¢AÈÇB[hbvðLøÉ·é½ß ÉAÍ auto-fill }Ci[[hð§¿ã°Ü·BÇñÇñ^CvµÄ ¢ÁÄAsÌIèÉB·éÆA±Ì[hÍuâé׫±Æv(ó: Pê «EÅÌsÜèÔµ - [hbv) ðâÁÄÝÄêÜ·B±êÍ}Ci [[hÈÌÅAÙ©Ì¢ëñÈW[[hÅ®ìµÜ·BsÉBµ ½Æ«Éª ``âÁÄÙµ¢±Æ'' ÍAá¦Î text-mode ÌÆ java- mode ÌÆÅÍá¢Ü·BÍ©ªÌ Java R[hðpêeLXgÌæ¤É [hbvµ½Í èܹñBµ©µA©ªÌ Java R[hÌRg ubNÍ[hbvµÄ~µ¢Å·! auto-fill [hÍ»ÌÖñð ðµÄêé椫ūĢܷB lXÈ Emacs [hÌìÒ½¿ÍA}Ci[[hƵĮì·×«à̪ m©É}Ci[[hÅ é±Æðm©ßé½ßÉA½³ñÌìÆðµÄ« ܵ½B Emacs ÌXN[Ì ASCII Éæéª}ÜÅßÁÄӵĩêÎA[h sª Emacs Ì[hð¯Ê·é±ÆÉCÃŵå¤B±ÌêÍAftH g[hÅ é ``Lisp Interaction'' ÆÄÎêé[hÉÈÁĢܷB »êÍA Lisp R[hð±¤ÆµÄ¢éêÉÌÝ{Éð§¿Ü· (Emacs ÌÙÆñǪ Lisp Å©êÄ¢é̾©çA\íȢŷË)B 3.2. vO~O[h ܸ½æèàæÉA Emacs ÍvO}ÉæÁÄvO}̽ßÉÝv³ êܵ½Bv¢ÂÙÆñÇ·×ÄÌêÊIÈvO~O¾ê (»µÄ¢ ©̻êÙÇêÊIÅÈ¢¾ê) ̽ßÉAi¿È[hªpÂ\Å ·BÍ»êçÌêð±±ÅÈÉྷéÉÆÇßÜ·B åªÌvO~O[hÍA©ÈèÌêÊIÈÁ¥ð¤LµÜ·B ÊA»êçÍ̤¿Ì¢Â©AܽÍSÅ· - o »ÌvO~O¾êÉÓ³íµ¢AFÉæé\¶²\¦ðpÓ· éB o vO~O¾êÁLÌA©®ÌCfgÆR[htH[}bgðp Ó·éB o ¶¬ (vO~O¾ê) ˶ÌwvðpÓ·éB o ©®IÉfobKÆÌC^tF[Xðs¤B o ÁèÌvO~O¾êÉε½j [ðj [o[ÉÇÁ· éB ³çÉA évO~O¾êÉÁ»µÈ¢A½ÌvO~O¾êÉ ¤Ê·éìÆð·é[hª èÜ·Bo[WRg[\tg EFAÆÌC^tF[XÌæ¤ÉA©®IÉR[hÉRgðÇÁ·é± ÆAMakefile ð쬷é±ÆAÏXð (ChangeLog) ðXV·é±ÆÈÇÅ ·B ±êçÌ·×ÄÌ[h̶ÝðàÐÆÜÆßÉµÄ Emacs R[hÌ®¬Æ Àè«ðl¦ÄÝêÎA̳êÄ¢é¤pÌ C++ â Java Ìæ¤È¾êÌ ½ßÌJ« (IDE) Æ¢¢ÉÈé±Æªí©éŵå¤BÅAà ¿ëñAEmacs Ít[Åà èÜ·B 3.2.1. C/C++/Java C Æ C++ Æ Java Ì\¶ÍÆÄàÄ¢éÌÅA (Objective-C Æ IDL ðê É·éÌƯlÉA) 3 ÂÌ·×Ä̾êðêÉæ赤 1 ÂÌ Emacs [hª èÜ·BÆÄà¬nµÄ®¬µ½pbP[WÅAEmacs ÌzzÉÜ ÜêĢܷB±Ì[hÍ cc-mode Ü½Í CC Mode ÆÄÎêÜ·B æèÚµ¢à¾ é¢ÍVµ¢o[WÌ_E[hÍ http://www.python.org/emacs/ ÖǤ¼B 3.2.2. Perl Emacs Å Perl R[hðÒW·é½ßÉÍA2 ÂÌ[hª èÜ·B 1  ÚÍ (úҵĢéÊè) perl-mode ÆÄÎêéàÌÅA2 ÂÚÍ cperl- mode Å·BÍȺ 2 Âà[hª éÌ©ARà¬ès«àmèܹñ ª (¶ÉÍ©êĢȢ)Aperl-mode ÌÙ¤ª Emacs Å Perl R[hð ÒW·éÆ«Ì[hƵÄÍIWi¾Æ¢¤±Æªí©èÜ·B cperl-mode æèà@\ªÈ¢æ¤ÅA Perl ÌuËòÈv¾ê\¬ÌÈ© ÉÍF¯Å«È¢àÌà èÜ·B ÂlIÉÍAÍAÉeiX³êÄ¢éæ¤É©¦ÄAª±êÜ ÅÉ~µ¢ÆvÁ½@\·×ÄðÁÄ¢½ cperl-mode ðg¢A§µÜ ·BÅVÌ[XÍA±±Å©t¯é±ÆªÅ«Ü· - ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacsB µ©µA̾tð»ÌÜÜÉó¯æçȢž³¢B¼ûðµÄAÅà KvÉ Á½àÌðIñž³¢B 3.2.3. Python Python (ÆÄàlCª éठ1 ÂÌXNvg¾ê) àApÂ\È Emacs [hðÁĢܷBªméÀèÅÍA»êÍ GNU Emacs Æê ÅÍÈA XEmacs ÆêÉzz³êĢܷBàÁÆàAÇ¿çÌGfB^ ÅàåϤܮìµÜ·B python-mode Íö® Python web TCg http://www.python.org/emacs/python-mode/ ©çüèÅ«Ü·B 3.2.4. »Ì¼ vO}̯ÆÈéAÆÄàÆÄà½Ì¼ÌÒWp[hªpÂ\Å ·B»Ìæ¤È¨è`¢[hÉÍÌæ¤Èà̪ èÜ· - o VFXNvg (Bash, sh, ksh, csh, ...) o Awk, Sed, Tcl, ... o Makefile o ÏXð o ¶ o fobO »µÄàÁƽ³ñ èÜ·B¼Ì[hâAhCð©Â¯é½ß̳ç ÈéîñÍA±Ì¶Ì ``¼Ìîñ¹'' ÌßðQƵľ³¢B 3.3. I[TO ÃÁ½ Emacs [hÌXÍAR[hðlX̽߾¯ÉÀçê½àÌ ÅÍ èܹñB (ÇñÈíÞÅ ê) ¶ð¢Ä¢élXàܽA Emacs [hÌL¢iµ¦Ì¶bðó¯çêÜ·B 3.3.1. Xy`FbN ( ispell [h) ½ÌíÞ̶ÌÒÍAXXy`FbNð·éKvª èÜ·B GNU ispell ðCXg[µÄ¢êÎA M-x ispell ÆüÍ·é±ÆÅA»ÝÌ obt@ÌXy`FbNð·é±ÆªÅ«Ü·Bàµà ispell ªmçÈ¢ êð©Â¯éÆAÂ\Èu·¦ÌXgð\¦µÄüÍð£µA»Ì©ç 1  (Ü½Í 0) ðIιܷB»êÍ@\IÉAêÊIȽÌt[ÅÈ¢ \tgEFApbP[WÌXy`FbJƯŷB 3.3.2. HTML ( html-helper [h) ©ªªX ( é¢ÍÇ) HTML t@Cð¢Ä¢é±ÆÉCt¢½Èç ÎA html-helper-mode ðµÄݽÈéŵå¤B»êÍ http://www.santafe.edu/~nelson/tools/ ©çA¶ÌÖA¨ÆµÄüèÂ\ Å·B »Ì¼Oª¦·ÊèAhtml-helper-mode ÍAܾ HTML ðèìÆ -- ÌȪ çÌû@ -- ŢĢé½ÌlXð请é¹ïðpӵĢܷB 3.3.3. TeX ( tex-mode ) TeX ŶðÆ«ÍAEmacs ªobNXbV âÊÈÇ̶ÉFð t¯½è²µÄêéÆÖȱƪæ èÜ·B tex-mode Í»êð âÁÄêÜ·B ÍàÍâ TeX żÚæ¤È±Æ͵ܹñªA¢Ä¢½±ëÍA TeX \[Xð¿å¢ÆÇÝâ··éÌɱÌ[hªð§ÁÄêܵ½B 3.3.4. SGML ( sgml-mode ) ¡ÇñÅ¢é¶Í SGML Å©êĢܷ (»µÄ¨»çA»ÝÇñÅ¢ é`®ÉÏ·³êÄ¢é)B sgml-mode Í SGML ¶Ì½ßÉA·×ÄÌî{ IÈàÌðpӵĢܷ - øÊA²AOûQÆ^OAãûQÆ^OA» ̼½Å·B 3.4. ¼Ì[h à¿ëñA¶ðyɵÄêé½Ìè²ëÈ[hª èÜ·B±±Å ÍAlCª éàÌð¢Â©ÐîµÜ· - 3.4.1. o[WÇ ( vc [h) vc [hÍAt@CÌ`FbNCâ`FbNAEgA[XÌÇÈ ÇðÆÄàÈPɵÄêéAåÏlCÌ éo[WÇÌobNGh (RCS, SCCS, CVS) ÌC^tF[XÅ·B»êÍ Emacs ÌWª ÅAEmacs ̶Éྪ èÜ·B 3.4.2. VF[h ȺAí¸©ÈVFR}hðÀs·é½ßÉA¼Ì X ÌEBhEâ¼ zR\[ÉØèÖ¦éÌÅ·©? Emacs àÅs¤æ¤ÉµÄAÊ|²Æ ©çðú³êľ³¢B M-x shell ÅAEmacs obt@àÉVFª§¿ãªèÜ·B Emacs Íä Å{ÌVFÆÎbµÄ¢éÌÅAÊÌVFvvgÅÅ«é±Æ Í (vi â pine Ìæ¤ÈtXN[ÌvOÌÀsð¢Ä)A½¢ Ä¢±Ìobt@Ås¤±ÆªÅ«Ü·B ±êÍ Emacs ÌWªÈÌÅAEmacs ÌhL gÉîñð©Â¯ç êéŵå¤B 3.4.3. Telnet and FTP ȺAtelnet â FTP ðÀs·é½ßÉA¼Ì X ÌEBhEâ¼zR\ [ÉØèÖ¦éÌÅ·©? »êð Emacs àÅs¤æ¤ÉµÄAÊ|²Æ© çðú³êľ³¢B (à¤Ap^[ÉCt«Üµ½©?) Emacs ÌàÅVFðÀs·éÌƯ¶æ¤ÉAtelnet Æ ftp ðÀs·é ±ÆªÅ«Ü·B©ª©gÅ»êðo±·é½ßÉAM-x telnet Ü½Í M-x ftp ðµÄ¾³¢BÚ×É¢Ĥñ´è·éÜÅm软êÎA¶ð ©Ä¾³¢B 3.4.4. Man ȺA}j Ay[WðÇÞ½ßÉA¼Ì X ÌEBhEâ¼zR\[ ÉØèÖ¦éÌÅ·©? »êð Emacs àÅs¤æ¤ÉµÄAÊ|²Æ©ç ðú³êľ³¢B (ñ©Å·Bà¤âßÜ·B) Emacs àÅVFðÀs·éÌƯ¶æ¤ÉA}j Ay[WðÇޱƪ Å«Ü·B©ª©gÅ»êðo±·é½ßÉAM-x man ðµÄ¾³¢B» êÈãÍA¶ð©Ä¾³¢B 3.4.5. Ange-FTP ange-ftp ©çøp·éÆ - This package attempts to make accessing files and directo- ries using FTP from within GNU Emacs as simple and transpar- ent as possible. A subset of the common file-handling rou- tines are extended to interact with FTP. (ú{êó) ±ÌpbP[WÍAGNU Emacs Éæé FTP ðgÁ½ t@CÆfBNgÖÌANZXðÂ\ÈÀèÈPŧßIÉ ·éæ¤ÉÝĢܷBêÊIÈt@Cì[`ÌTu ZbgÍAFTP ÆÝ¢Ée¿µ¢Ü·B ±êÍA£ê½}VãÌt@CðA[JÉ é©Ìæ¤Éµ¤±Æª Å«é±ÆðÓ¡µÜ·BÙÈéRs [^ãÌt@CðÒW·éKvª éÈçA (µáÁ½pX\¶ðgÁÄ) »êðJ¯Æ Emacs ɽ¸é¾ ¯Å·BOCât@Cæ¾Ìש¢±ÆÍ Emacs ªâÁÄêÜ·B C-x C-s Åt@CðÛ¶·éÍAange-ftp ÍÛ¶ðrÅߦÄA£ê ½}VÉt@Cð«ßµÜ·B µáÁ½pX\¶ÍA±Ìæ¤È´¶Å·Bt@C¼Í ``myfile'' Å ``user'' ÌfBNgA}V¼Í ``my.host.org'' Å êÎAt@C ÍÌæ¤ÉJ (C-x f) ±ÆªÅ«Ü· - /user@my.host.org:~user/myfile ±êàܽAEmacs zzÌWªÈÌÅA Emacs ¶Éà¾ð©Â¯é ±ÆªÅ«Ü·B ãÌáðñµÄê½ Etienne Grossmann (etienne@anonimo.isr.ist.utl.pt) ɴӵܷB 4. Emacs ÌJX^}CY ¼zIÉA·×ÄÌ Emacs ÌJX^}CYÍ Lisp R[hÉæÁÄsíêÜ ·BEmacs Ì®ìÉe¿·éÏðÏX·é±ÆAÜ½Í Emacs ÉVµ¢Ö ðÇÁ·é±ÆªÅ«Ü· (ܽͶݷéÖðã« -- »êðu«· ¦é±Æª -- Å«Ü·)B 4.1. êIÈJX^}CY Emacs ÌJX^}CYÌÀ±ð·éÆ«ÍA»ÌêÀèÌû@Åâ轢Šµå¤Bàµà½©àÌ·²ï¢ª«ÈÁ½êÍA C-x C-c Å Emacs ðI¹µÄAÄÑ Emacs ðÀs·é±ÆªÅ«Ü·Bíɽf³¹½ ¢ÏXªí©Á½çAEmacs ðN®·é²ÆÉe¿ð^¦éA©ª©gÌ .emacs t@CÉ»êðÇÁÅ«Ü·B±êÍÌßÅྵܷB 4.1.1. Ïãü ÅàÈPÈJX^}CYÍAEmacs ÅÏÌlðÏX·é±ÆÉæÁĬµ °çêÜ·B±ÌXgR[hÍÌæ¤ÉÈèÜ· - (setq ϼ Vµ¢l) ϼ ÍÏ̼OÅAVµ¢l ÍÏÉ^¦½¢lÅ· (Lisp ̾¢û ÅÍAlÉÏð©µÜ·)B ß: ÍÈP̽ßÉA±±Å½ÌªðàÁÆàçµà¾µÄ¢Ü ·B Lisp ÖÅ é set »µÄ setq-default³¦àg¤Aâ¼ÌlXð ©é©àµêܹñBàµà{Ém轩Á½çAÇñÇñ Emacs Lisp t@XÅ»êçð²×ľ³¢B Ì .emacs t@C©ç 1 sð©ÄÝܵå¤B (setq-default transient-mark-mode t) Ï transient-mark-mode ÍA}[Nµ½Æ«ÉÌæð²\¦·é©µÈ ¢©ðǵܷB½Ì GUI AvP[VÅÍAeLXgÌÍÍðI ð·é½ßÉ}EXÌNbNâhbOðµ½êA½]ܽͽ©¼ÌF Ų\¦µÜ·B Emacs ÍÏ transient-mark-mode ð (nil ÅÈ¢l É) Ýè·é±ÆÅA¯¶±Æð·éæ¤ÉÈèÜ·B ÇñÈl? ³ÄA±±Å]kðvñµÜµå¤B½ÌvO~O¾êÍA^UlÌ TOðÁĢܷB C/C++ ÅÍAlªñëÅ êÎ^ÆÝȵܷB Perl ÅÍAñ null ܽÍñëÌlª^Å·B Lisp ÅÍA¯¶l¦ðgpµÜ· ªA¼OÆV{ÍÙÈèÜ·B ÊA^Í t ÆAU (Ü½Í null) Í nil ÆLqµÜ·B¼Ì¾êÌæ¤ ÉAâÍèA çäéñ nil lÍ^ÆÝȳêÜ·B transient-mark-mode ª½ð·é©Ì®SÈà¾ð¾éÉÍAICw vðg¤±ÆªÅ«Ü·B C-h v Ü½Í M-x describe-variable ðü͵ ÄA»ê©ç transient-mark-mode ðü͵ľ³¢BàµàÌæ¤É Ó¯ÒÅ êÎATab L[ðgÁÄϼðâ®·é±ÆªÅ«Ü·Bϼ Ìêðü͵ÄATab L[ðµÄ¾³¢BêÓÉ Emacs ª»êð¯Ê ·éÌÉ\ªÈüÍðµÄ¢êÎA⮳ê½SÌ̼Oª»±É»êÜ·B lXªµÎµÎÝè·éÏÉÍA¼É fill-column ª èÜ·B±êÍ [hbv̽ßÌXN[Ìð Emacs Émç¹Ü·B (»µÄ auto- fill-mode ª±Ìlðl¶µÜ·)B½©sÈlðÝè·éÉÍAÌæ ¤Éü͵ܷ - (setq fill-column 20) µ©µA»ê¾¯ÅÍÀÛÉͽàµÜ¹ñBü͵½®ð ]¿·é æ¤É Emacs Émç¹éKvª èÜ·BÀÛÉ]¿·é½ßÉÍA|Cg (J[ \) ð®ÌÅãÉu¢ÄA»ê©ç C-x C-e ðü͵ܷB¡ÌêÍA ±Ìü껅 eval-last-sexp ðÄÑÜ·B»êðÀsµ½A20 (Ü½Í ½©gpµ½l) ªXN[ºÌ~jobt@ÉGR[obN³êé±Æ ÉCÃŵå¤B»êª]¿µ½®©çÌÔèlÅ·B ®ìðmF·é½ßÉA¶ðêÂñÂü͵ÄÝľ³¢BàµàôR auto-fill-mode ðLøɵĢ½ÈçÎ (½ªµÄ¢È¢Åµå¤ª)AeL Xgª 20 JÜÅÅÜÔ³êéÌÉCÃŵå¤B»¤ÅȯêÎA¢ ©ÌüÍðµ½ãAÖ fill-paragraph ðÄÑo· M-q ðü굀 ¾³¢BÀÛÉ[hbvªÀs³êéŵå¤B 4.1.2. t@CÖA ÁÊÈ^Ìt@CðJ¢½É©®Iɽ©ð·éæ¤ÉA Emacs ðÝè Å«Ü· (ÁÊÈt@CÌACRðNbNµ½êÉA GUI ª©®I ÉÁèÌAvP[VðN®·éÌƯ¶æ¤É)Bá¦ÎAÍ .txt g£qÌt@CðJ¢½Æ«ÉÍ¢ÂàA©®IÉ text-mode É Emacs ª ØèÖíÁÄ~µ¢Å·B¨âA»êÍ·ÅÉūĢܷËB:-) »êÅ ÍA``README'' Æ¢¤¼OÌt@CðJ¢½Æ«ÉA¢Âà text-mode É üéæ¤É Emacs ɽߵܵå¤B (setq auto-mode-alist (cons '("README" . text-mode) auto-mode-alist)) ½¾ÁÄ? {ÉméKvÍÈ¢ Lisp vO~OÌRÉËÁÞ±Æ͵ܹñª (µ©µwÔ±ÆÉssÍȢŵå¤)AÏ auto-mode-alist ªyAÌ XgðÜÞ±Æð¾í¹Ä¾³¢BeXÌyAͳK\»Æ Emacs Ì [h¼ðÜñŢܷBJ¢½t@Cª³K\» (±ÌêÍA¶ñ README) É}b`µ½êAEmacs Íwèµ½[hðJnµÜ·B ãÌÏÈ\¶ÍA½¿ªyAðÀÛÉà¤êÂ[hXgÉÁ¦æ¤Æµ Ä¢é½ßÅ·B·ÅÉüÁÄ¢élÍÁ¦È¢AÆ¢¤±ÆðmF¹¸É auto-mode-alist ðÝèµ½ÍȢŵå¤B ܽA.html Ü½Í .htm ÅIét@CðJ¢½Æ«É¢Âà Emacs ð html-helper-mode É©®IÉØèÖ¦½¢ÈçÎA©ªÌ .emacs t@C ɱÌæ¤ÉÇÁµÜ· - (setq auto-mode-alist (cons '("\\.html$" . html-helper-mode) auto-mode-alist)) (setq auto-mode-alist (cons '("\\.htm$" . html-helper-mode) auto-mode-alist)) Â\«ÉÍ{ÉIèª èܹñB 4.2. .emacs t@CÌgp Emacs Å éöxÌÔðß²µAJX^}CYÉ¢ÄÌî{IÈl¦ð Á½ãÉÍA½ª 2, 3 ÌàÌðivÉ(ܽÍÈÆàl¦ðϦéÜ ¦Å) JX^}CYµ½ÜÜɵ½Èéŵå¤BàµàúXÌî{Iȱ ÆÉ Emacs ðgÁÄ¢éÆCâ½ÈçÎAÔÆÆàÉ .emacs t@C ªå«ÈÁÄ¢±ÆÉàCÃŵå¤B»êÍA±¤®¢Ä~µ¢Æ¢ ¤v¢ÊèÉ Emacs 𮩷û@ð Ƚªðµ½Æ¢¤±ÆÈÌÅÇ¢ ±Æ Å·B½Ì\tgEFA»iª»¤³¹ÄêÈ¢ÌÍcOȱÆÅ ·B ܾ©ð¯ĢȢê̽ßÉྷéÆA Emacs ÍAN®·éÍ ¢ÂàAz[fBNgÌ .emacs Æ¢¤¼OÌt@CðTµÜ·B .emacs t@CÍA©®IÉÀs³¹½¢A½¿ª±±ÅµÁÄ¢éJX ^}CYðÜÞ Lisp R[hðÚ¹é׫êÅ·B Ì .emacs t@C©ç¼Ìá - (setq inhibit-startup-message t) Ï inhibit-startup-message ÍAEmacs ªnÜéÆ«ÉEFJbZ [Wð\¦·é©Ç¤©ðǵܷBµÎçµÄAÍ»êð©éÌÉO «½ÌÅ (Íwvâ¢ë¢ëÈàÌð©Â¯o·û@ðmÁÄ¢½Ì Å)AÍ»êðItÉ·éû@ðT·æ¤ÉÈèܵ½B ûKƵÄA©ª©gÌ .emacs t@Cðìé±ÆɧíµÄA»ÌsðÇ ÁµÜµå¤B»ê©ç Emacs ðI¹³¹ÄAà¤êxN®µÜµå¤Bà ¤AEFJbZ[Wð©é±ÆÍȢŵå¤B µÎµÎ Emacs Ì[h (ܽÍpbP[W) É¢ÄÇñÅ¢éÆ«A» ̶ÍÁêÈû@Å[hܽÍpbP[Wð©¹æ¤ÆµÄA .emacs t@Cɢ©ÌR[hðÇÁ·é±Æð©ßÄéŵå¤B The GNU Emacs FAQ (C-h F) ÍA.emacs t@CÉÖA·é¢Â©Ìð§ ÂÚðÜñŢܷB 4.3. pbP[WÌJX^}CY Emacs ÌlCªLÑÄWµÄ¢¤¿ÉAN©ª ``©K¢[UÉ Emacs ðJX^}CY³¹éAàÁÆÇ¢û@ªKv¾æ'' ƾ¢Üµ½B»µÄ customizeª¶Üêܵ½B Customoize Í Emacs ÌJX^}CYªÌæè¼´IÈû@ðpÓµÄ¢Ü ·B»êð·ÉÍAHelp j [Ì Customize Tuj [ðIÔ©AM- x customize ðüͷ驵ľ³¢B Customize O[vÍA``Editing'', ``Programming'', ``Files'' ÈÇÌæ ¤È_O[vðÜÝÜ·BO[v̢©ÍA³çÉTuO[vð ÜÝÜ·B Customize C^tF[XðgÁÄÏXðsÁ½êAEmacs ÍÏXð .emacs t@CÉÛ¶µÜ·BÏXðÈPÉÚµ²×é±Æª (»µÄÏ X·é±Æª) Å«éÌÅA Customize Í¢Ôñµ¢â·¢Æ¾¦Ü·B Í Customize C^tF[XðgíÈ¢ÌÅA»êÉ¢ÄͱêÈã¾ ¦Ü¹ñB 4.4. X ÌEBhE\¦ ¨sVÌÇ¢ X AvP[VƯlÉA Emacs Í X \[Xð¸dµ Ü·B»êÍAxtermAnxterm ÈǪūéæ¤ÈAúFAWIgA» Ì¼Ì X ÁLÌ®«ðÇÅ«é±ÆðÓ¡µÜ·B ±êÍAÌ ~/.Xdefaults t@CÌÖA·éªÅ· - emacs*Background: DarkSlateGray emacs*Foreground: Wheat emacs*pointerColor: Orchid emacs*cursorColor: Orchid emacs*bitmapIcon: on emacs*font: fixed emacs.geometry: 80x25 X \[XÉ¢ÄÌÚ×ÍAX Ì}j Ay[Wð©Ä¾³¢B Chris Gray (cgray4@po-box.mcgill.ca) àܽ¾yµÄ¢Ü· - Debian ÅÍA~/.Xdefaults ÍgíêĢȢæ¤Å·Bµ©µÈ ªçADebian ÌlXÍA^¦çê½àÌð /etc/X11/Xre- sources/emacs Éu±ÆªÅ«A»µÄÞçÍ RedHat ðgÁÄ ¢½Ì«ê¢ÈFðpÅ«Ü·B 5. lCÌ épbP[W Emacs ÅpÂ\ȽÌÙÈé[hÉÁ¦ÄA½ÌAhIpbP[W àܽ¶ÝµÜ·B»êçÍVµ¢[hÈãÌàÌÈÌÅAÍpbP[W ÆÄñŢܷB»êç͵εÎAÁÊÈ[eBeBðÜñÅ¢é©A [hÆÄÔ̪ÃÅÈ¢ÙÇå«ÈàÌÅ·B³çɼÌêÍA»êç Í¼Ì Emacs Ì[hâpbP[Wðg£µ½èµ½è·é\tgEF AÅ·BæÊïÍS¾mÅÍ èܹñªA»êÅ¢¢ÌÅ·B 5.1. VM ([) VM FAQ ©çøp - VM (View Mail) is an Emacs subsystem that allows mail to be read and disposed of within Emacs. Commands exist to do the normal things expected of a mail user agent, such as gener- ating replies, saving messages to folders, deleting messages and so on. There are other more advanced commands that do tasks like bursting and creating digests, message forward- ing, and organizing message presentation according to various criteria. (ú{êó) VM (View Mail) ÍAEmacs àÅ[ðÇñ¾è µ½è·é±Æð· Emacs ÌTuVXeÅ·BÔM𶬷 éAtH_ÉbZ[WðÛ¶·éAbZ[Wðí·éÈÇ ÌA[[UG[WFgƵÄúÒ³ê½Ê̱Æðs¤ ½ßÌR}hª¶ÝµÜ·B_CWFXgÌjóⶬð·éA bZ[Wð]·éA¢ë¢ëÈîÉ]ÁÄbZ[W\¦ð ®·éAÆ¢Á½æ¤Èdð·é¼ÌæiIÈR}hà è Ü·B ªßÄ Emacs ðg¢n߽ƫA͵ÎçÌÔ VM ðµÉgÁÄ Ýܵ½BÍ»êªAPineAElmA»Ì¼½Ì[vOÌ·®ê ½ãpÉÈé±ÆÉCëܵ½Bµ©µAÍ[Æj [XðÇÞ½ß ÉÊXÌvOðg¢½ èܹñŵ½B VM Í»ÝAÉJ³ êAÇT|[g³êĢܷB ±±©çüèÂ\Å· - http://www.wonderworks.com/vm/B 5.2. Gnus ([Æj [X) GNUS }j A©çøp - Gnus is a message-reading laboratory. It will let you look at just about anything as if it were a newsgroup. You can read mail with it, you can browse directories with it, you can ftp with it---you can even read news with it! (ú{êó) Gnus ÍbZ[WÇÝæèÀ±ºÅ·B Gnus Í»ê ªj [XO[vÅ é©Ìæ¤ÉA½Å੹ÄêÜ·B [ðÇÞ±ÆAfBNgð{·é±ÆAftp ·é±ÆªÅ «Ü· --- j [X³¦àÇޱƪūܷ! Gnus tries to empower people who read news the same way Emacs empowers people who edit text. Gnus sets no limits to what the user should be allowed to do. Users are encouraged to extend Gnus to make it behave like they want it to behave. A program should not control people; people should be empowered to do what they want by using (or abusing) the program. (ú{êó) Gnus ÍAEmacs ªeLXgðÒWµÄ¢élXÉ À ð^¦éÌƯ¶û@Åj [XðÇÞlXÉ Àð^¦æ¤Æµ Ü·B Gnus ÍA[Uª³ê½±ÆɧÀðݯܹñB[ UÍAUÁÄ~µ¢æ¤ÉUí¹éæ¤É Gnus ðg£·é± Æð©ßçêĢܷBvOªlXðǵÄÍÈèܹñ - lXÍAvOðg¤±Æ (ܽÍg·é±Æ) ÉæÁÄ µ½¢±Æð·é½ßÉA Àð^¦çêé׫ŷB GNUS ͪ»Ý[Æj [X̽ßÉgÁÄ¢éàÌÅ· (ãÅæµ Ä¢½æ¤É)B GNUS àܽA»ÝAÉJ³êAÇT|[g³êÄ ¢Ü·B »êͱ±©çüèÂ\Å· - http://www.gnus.org/B 5.3. BBDB (A rollodex) BBDB Í `Insidious Big Brother Database' (eÌrbOEuU[Ef[^ x[X) ̪ÅA½ÌlCÌ é Emacs [pbP[W (VM â GNUS ð ÜÞ) ÆêÉ®ì·éAZ^Ì Emacs pvOÅ·B ±±©çüèÂ\Å· - http://pweb.netcom.com/~simmonmt/bbdb/index.htmlB 5.4. AucTeX (ठ1 ÂÌ TeX [h) AucTeX Í TeX t@CðÒW·é½ßÌAठ1 ÂÌ[hÅ·B AucTeX web TCg©çøp - AUC TeX is an extensible package that supports writing and formatting TeX files for most variants of GNU Emacs. Many different macro packages are supported, including AMS TeX, LaTeX, and TeXinfo. (ú{êó) AUC TeX ÍAGNU Emacs ̽ÌÏí̽ßÌATeX t@Cð±ÆÆ®`·é±Æðx·éAg£«Ì épb P[WÅ·B AMS TeX, LaTeX, TeXinfo ðÜÞA½ÌÙÈé} NpbP[WªT|[g³êĢܷB ±±©çüèÂ\Å· - http://sunsite.auc.dk/auctex/B 6. ¼Ìîñ¹ ±ÌßÍAÐAweb TCgAj [XO[vA[OXgA»Ì¼ Emacs É¢ÄÌîñð©Â¯çêéêðæèµÁĢܷB 6.1. Ð Emacs ðwÔÌÉg¦éǢЪû èÜ·BÁ¦ÄAEmacs (Æ vi) É Â¢Äà 1 Í© 2 ÍGêÄ¢é Linux â Unix ÌÐà¢ÁÏ¢ èÜ ·B 6.1.1. Learning GNU Emacs Ò: Debra Cameron, Bill Rosenblatt, Eric S. Raymond oÅÐ: O'Reilly & Associates - http://www.ora.com/ Amazon.com ©ç Associates program ÉæÁÄøµÄwüÅ«Ü· - http://www.amazon.com/exec/obidos/ASIN/1565921526/ ðà: ܸæêÉA±êͽªÅÌÐÅ·B HOWTO ðÇÝAêÊè FAQ ð©½ãÅA±Ì{ÍïIÅÆÄàeµÝâ·¢` [gAƵÄðÉ §Âŵå¤B ó: MóÍuüå GNU Emacs æ 2 ÅvÆ¢¤^CgÅAIC[E Wpæès³êĢܷB 6.1.2. Writing GNU Emacs Extensions Ò: Bob Glickstein oÅÐ: O'Reilly & Associates - http://www.ora.com/ Amazon.com ©ç Associates program ÉæÁÄøµÄwüÅ«Ü· - http://www.amazon.com/exec/obidos/ASIN/1565922611/ ðà: µÎçÌÔ Emacs ðg¢A©ª©gÌ[hð±ÆÉ§íµ½ ¢Aܽ͢©ÌæiIÈJX^}CYÉ§íµ½¢ÆSµ½ãÉA± êͤÁįÌÐÅ·B Lisp ð³¦æ¤Æ͵ĢܹñªA¾êÌÈ PÈèø«ªÜÜêĢܷB ó: MóÍuGNU Emacs g£KChvÆ¢¤^CgÅAICEW pæès³êĢܷB 6.1.3. Programming in Emacs Lisp: An Introduction Ò: Robert J. Chassell README t@Cæè - This is an elementary introduction to programming in Emacs Lisp for people who are not programmers, and who are not necessarily interested in programming, but who do want to customize or extend their computing environment. (ú{êó) ±êÍAK¸µàvO~OÉ»¡ðÁÄ¢È ¢ªARs [^«ðJX^}CYܽÍg£µ½¢Æ¢¤A vO}ÅÈ¢lX̽ßÌ Emacs Lisp vO~OÌà IÈüåÅ·B ±Ì}j AÍAGNU FTP T[o ftp://prep.ai.mit.edu/gnu/emacs/ ©ç anonymous FTP Å»Áè»ÌÜÜæèo¹Ü·B «¿ñÆóü³ê½o[WÍAAmazon.com ©ç Associates program É æÁÄwüÅ«Ü· - http://www.amazon.com/exec/obidos/ASIN/1882114418/jeremydzawodny/B ðà: ±êÍAEmacs Lisp ̽ßÌÇ¢üåÅ· -- ½Æ¦ÎèÎèÌv O}ÅÍÈ¢êÅàB ó: MóÍuEmacs Lisp vO~OüåvÆ¢¤^CgÅAAXL [æès³êĢܷB 6.1.4. The GNU Emacs Lisp Reference Manual Ò: Richard Stallman oÅÐ: The Free Software Foundation - http://www.fsf.org/ ±Ì}j AÍAGNU FTP T[o©ç anonymous FTP Å»Áè»ÌÜÜ æèo¹Ü· ftp://prep.ai.mit.edu/gnu/emacs/B ðà: ±êÍ Emacs Lisp vO~O¾êÖÌÅà ÐÌ éKChÅ ·B ó: MóÍuGNU Emacs Lisp }j AvÆ¢¤^CgÅAAXL[æ ès³êĢܷB 6.2. Web TCg 6.2.1. EMACSulation EMACSulation ÍAhttp://www.linuxgazette.com/ É éIC}KW Linux Gazette É·MµÄ¢é Eric Marsden ÉæéRÅ·B»_ÌÅ VRÍ http://www.linuxgazette.com/issue39/marsden.html É èÜ ·BÈOÌLÖÌNÍAL̺ð²×ľ³¢B 6.3. j [XO[v ¶ñ ``emacs'' ðÜÞj [XO[vÅ[Jj [XÌzðõ ·êÎA½ª½³ñ©Å«éŵå¤B o comp.emacs o comp.emacs.sources o gnu.emacs o gnu.emacs.bug o gnu.emacs.help o gnu.emacs.sources aó: ú{êSÌj [XO[vÅàȺÌà̪ èÜ·: o fj.editor.emacs o fj.editor.mule o fj.editor.xemacs 6.4. [OXg ª»ÝmÁÄ¢éBêÌ Emacs êåÌ[OXgÍA NT-Emacs XgÅ·B»êÍ Microsoft Windows ÅÌ Emacs ðgÁÄ¢él̽ßÌ XgÅ·B±êÈãÌîñÍANT-Emacs FAQ http://www.cs.washington.edu/homes/voelker/ntemacs.html ðQƵľ ³¢B 6.5. Emacs Lisp A[JCu Emacs Lisp A[JCuÌ README æè - The Emacs Lisp archives on ftp.cis.ohio-state.edu contain various pieces and packages of Emacs Lisp code. Emacs Lisp is the language used to extend the GNU Emacs editor pub- lished by the Free Software Foundation. Although much Emacs Lisp code is included in the GNU Emacs distribution, many people have written packages to interface with other sys- tems, to better support editing the programming language they use, to add new features, or to change Emacs' default behavior. Most of the contents of this archive have been written by individuals and distributed publicly over the Internet through the info-emacs or info-gnu-emacs mailing lists or the comp.emacs, gnu.emacs, or gnu.emacs.sources newsgroups. (ú{êó) ftp.cis.ohio-state.edu Ì Emacs Lisp A[JCu ÍAEmacs Lisp R[hÌlXȪÆpbP[WðÜñÅ¢Ü ·B Emacs Lisp Í Free Software Foundation ÉæÁÄöJ³ê Ä¢é GNU Emacs GfB^ðg£·é½ßÉgíêé¾êÅ·B ½Ì Emacs Lisp R[hª GNU Emacs ÌzzÉÜÜêĢܷ ªA½ÌlXÍA¼ÌVXeÆÌC^tF[X̽ßAgÁ Ä¢évO~O¾êÌÒWÌT|[gðàÁÆÇ·é½ ßAVµ¢@\ðÇÁ·é½ßAÜ½Í Emacs ÌftHgÌU ¢ðÏX·é½ßÉpbP[Wð«Ü·B±ÌA[JCu̽ Ìàe¨ÍAÂlÉæÁÄ©êA info-emacs Ü½Í info- gnu-emacs [OXgAÜ½Í comp.emacs, gnu.emacs, gnu.emacs.sources j [XO[vðʵÄC^[lbgãÉ öÉzz³ê½àÌÅ·B A[JCuÍ ftp://ftp.cis.ohio-state.edu/pub/emacs-lisp/ ©ç anonymous FTP ÅüèÂ\Å·B ß: ª`¦çêéÀèÅÍAEmacs Lisp A[JCu͵¸Âãxê ÉÈÁīĢܷBÍA»êçªm©É¶Ý·éÉàÖíç¸AVµ» ±Éo»·é (ܽÍXV³ê½) pbP[WðÙÆñǩܹñB»êçÍ comp.emacs.sources j [XO[vÉ|Xg³êÜ· (àµà±êªÔ áÁÄ¢éÈçÎA¶È³¦Ä¾³¢)B 7. NWbg ÌlXªA±Ì¶Ì¬AÉv£µÜµ½B o Robert Vollmert <rvollmer@gmx.net> o Larry Brasfield <larrybr@seanet.com> o Etienne Grossmann <etienne@anonimo.isr.ist.utl.pt> o Thomas Weinell <kf6mli@amsat.org> o Adam C. Finnefrock <adam@bigbro.biophys.cornell.edu> o Chris Gray <cgray4@po-box.mcgill.ca> o Robert J. Chassell <bob@rattlesnake.com> o Isaac To <kkto@csis.hku.hk"> o Matteo Valsasna <valsasna@elet.polimi.it> o Tijs van Bakel <smoke@casema.net> ó:ú{êóÉ ½ÁÄÍÌûXÉRg𢽾«Üµ½B o Ó a³ñ o åXÛp³ñ o X{ ~³ñ o äLõ³ñ