uim.el - Emacs uim bridge Copyright (c) 2005-2010 uim Project http://code.google.com/p/uim/ All rights reserved. ¤³¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÏBSD¥é¥¤¥»¥ó¥¹¤Ë´ð¤Å¤ÇÛÉÛ¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥ uim.el¤È¤Ï ========== uim.el¤Ï¡¤uim¤ÈEmacs¤Î´Ö¤ò·ë¤Ö¥Ö¥ê¥Ã¥¸¤Ç¤¹¡¥ uim.el¤òƳÆþ¤¹¤ë¤³¤È¤Ç¡¤ÍÍ¡¹¤Ê¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É¤òuim¤òÄ̤¸¤Æ Emacs¾å¤ÇÍøÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡¥ Âбþ¤¹¤ëEmacs ============= - GNU Emacs 20·Ï°Ê¾å * 20.7.1¡¤21.4.1, 22.1.1 ¤ÇÆ°ºî³Îǧ - XEmacs 21·Ï * 21.4.20 (sumo + mule-sumo) ¤ÇÆ°ºî³Îǧ ¢¨ ¤³¤ì°ÊÁ°¤Î¤â¤Î (Mule-2.3 ¤ä Emacs-19.x ¤Ê¤É) ¤Ë¤ÏÂбþ¤·¤Þ¤»¤ó¡¥ ¢¨ GNU Emacs 23·Ï (cvsÈÇ) ¤Ç¤ÏÆ°ºî¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡¥ ¥¯¥¤¥Ã¥¯¥¹¥¿¡¼¥È ================ uim.el¤Ï¡¤Emacs¤Î¥Þ¥¤¥Ê¡¼¥â¡¼¥É (uim-mode) ¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥ Emacs¤Çuim.el¤ò»È¤¦ÊýË¡¤Ë¤Ï¡¤uim-mode¤òľÀܸƤӽФ·¤ÆÍøÍѤ¹¤ëÊýË¡¤È¡¤ LEIM¤ò²ð¤·¤ÆÍøÍѤ¹¤ëÊýË¡¤Î¡¤2Ä̤꤬¤¢¤ê¤Þ¤¹¡¥ ¤¤¤º¤ì¤Î¾ì¹ç¤â¡¤.emacs (¤¢¤ë¤¤¤Ï¾¤ÎEmacs¤ÎÀßÄê¤Î¤¿¤á¤Î¥Õ¥¡¥¤¥ë) ¤Ë ¤¤¤¯¤Ä¤«µ½Ò¤ò²Ã¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥¤Þ¤¿¡¤¤É¤Á¤é¤òÁª¤ó¤Ç¤âuim.el¤Î Ä󶡤¹¤ëµ¡Ç½¤ËÊѤï¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¡¥ ¤â¤·¡¤¤¢¤Ê¤¿¤¬uim.el¤ÎÄ󶡤¹¤ëIM¤È¡¤¤½¤ì°Ê³°¤ÎEmacs¾å¤ÎIM¤òÉÑÈË¤Ë ÀÚ¤êÂؤ¨¤ÆÍøÍѤ¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¤LEIM¤òÍøÍѤ·¤¿Êý¤¬¤è¤¤¤Ç¤·¤ç¤¦¡¥ * uim-mode¤òľÀܸƤӽФ·¤ÆÍøÍѤ¹¤ë¾ì¹ç¤ÎÀßÄê - ÀßÄêÎã ;; uim.el¤òÆɤ߹þ¤à (require 'uim) ;; Emacsµ¯Æ°»þ¤ËÆɤ߹þ¤ó¤Ç¤Û¤·¤¯¤Ê¤¤¾ì¹ç¤Ï¡¤¾åµ¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤·¡¤ ;; Âå¤ï¤ê¤Ë²¼µ¤Î¹Ô¤ò¥¢¥ó¥³¥á¥ó¥È ;;(autoload 'uim-mode "uim" nil t) ;; uim-mode¤ò¥È¥°¥ë¤¹¤ë¤¿¤á¤Î¥¡¼¥Ð¥¤¥ó¥É (C-o¤ò»È¤¦¾ì¹ç¤ÎÎã) (global-set-key "\C-o" 'uim-mode) - ²òÀâ ¤Þ¤ºrequire´Ø¿ô¤Çuim.el¤òľÀÜ¥í¡¼¥É¤·¤Þ¤¹¡¥ (require 'uim) ¤¢¤ë¤¤¤Ï¡¤É¬ÍפʤȤ¤Ë¤Ê¤Ã¤Æ½é¤á¤Æuim.el¤òÆɤ߹þ¤à¤è¤¦¤Ë¤·¤¿¤¤¤Î¤Ç ¤¢¤ì¤Ð¡¤require´Ø¿ô¤ÎÂå¤ï¤ê¤Ëautoload´Ø¿ô¤ò»È¤¤¤Þ¤¹¡¥ (autoload 'uim-mode "uim" nil t) ¼¡¤Ë¡¤uim-mode¤ò¥È¥°¥ë¤¹¤ë¤¿¤á¤Ë¡¤uim-mode¥³¥Þ¥ó¥É¤Î¥¡¼¥Ð¥¤¥ó¥É¤ò ÄêµÁ¤·¤Þ¤¹¡¥Î㤨¤Ð¡¤uim-mode¤Î¥È¥°¥ë¤ËC-o¤ò»È¤¦¤Î¤Ç¤¢¤ì¤Ð¡¤°Ê²¼¤ò µ½Ò¤·¤Þ¤¹¡¥ (global-set-key "\C-o" 'uim-mode) * LEIM¤ò²ð¤·¤ÆÍøÍѤ¹¤ë¾ì¹ç¤ÎÀßÄê - ÀßÄêÎã ;; uim.el¤òÆɤ߹þ¤ßEmacs¤ØIM¤òÅÐÏ¿¤¹¤ë (require 'uim-leim) ;; ¥Ç¥Õ¥©¥ë¥È¤ÎIM¤òuimÄ󶡤Τâ¤Î¤ËÀßÄê (°Ê²¼¤ÏAnthy¤ÎÎã) (setq default-input-method "japanese-anthy-uim") - ²òÀâ ¤Þ¤º¡¤require´Ø¿ô¤Çuim-leim.el¤ò¥í¡¼¥É¤·¤Þ¤¹¡¥¤³¤³¤Çuim¤ÎÄ󶡤¹¤ëIM¤¬ Emacs¤ËÅÐÏ¿¤µ¤ì¡¤LEIM¤ÇÍøÍѲÄǽ¤Ë¤Ê¤ê¤Þ¤¹¡¥ (require 'uim-leim) LEIM¤òÍøÍѤ·¤¿¾ì¹ç¡¤uim¤ÎÄ󶡤¹¤ëIM¤Ï¡¤LEIM¤Î·Á¼°¤Î̾Á°¤ÇEmacs¤Ë ÅÐÏ¿¤µ¤ì¤Þ¤¹¡¥LEIM¤Î·Á¼°¤Î̿̾µ¬Â§¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡¥ "<Emacs¤Ç¤Î¸À¸ì̾>-<uim¤ÎÊÖ¤·¤Æ¤¯¤ëIM̾>-uim" Î㤨¤Ð¡¤uim-anthy¤Ç¤¢¤ì¤Ð¡¤uim¤ÎÊÖ¤·¤Æ¤¯¤ëIM̾¤Ï "anthy" ¤Ç¡¤ ÆüËܸì¤ò¼¨¤¹Emacs¤Î¸À¸ì̾¤Ï "japanese" ¤Ê¤Î¤Ç¡¤LEIM¤ËÅÐÏ¿¤µ¤ì¤ë ̾¾Î¤Ï "japanese-anthy-uim" ¤È¤Ê¤ê¤Þ¤¹¡¥ uim.el¤ÎÄ󶡤¹¤ë¤â¤Î¤â´Þ¤á¤Æ¡¤LEIM¤ÇÍøÍѲÄǽ¤ÊIM¤Î°ìÍ÷¤Ï¡¤°Ê²¼¤Î ¥³¥Þ¥ó¥É¤Ç³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡¥ M-x list-input-method LEIM¤Î¥Ç¥Õ¥©¥ë¥È¤ÎIM¤Ï¡¤default-input-methodÊÑ¿ô¤ËIM̾¤òÀßÄꤹ¤ë ¤³¤È¤Ç»ØÄê¤Ç¤¤Þ¤¹¡¥¤â¤·uim-anthy¤òLEIM¤Î¥Ç¥Õ¥©¥ë¥È¤ÎIM¤È¤·¤¿¤±¤ì¤Ð¡¤ °Ê²¼¤Î¤è¤¦¤Ëµ½Ò¤·¤Þ¤¹¡¥ (setq default-input-method "japanese-anthy-uim") ÉáÄ̤Υ«¥¹¥¿¥Þ¥¤¥º ================== * uim-mode¤Î¥Ç¥Õ¥©¥ë¥È¤ÎIM¤òuimÁ´ÂΤÈÆÈΩ¤ËÀßÄꤹ¤ë ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¤uim-mode¤¬Í¸ú¤Ë¤Ê¤ë¤È¡¤uim-pref-gtk¤Ê¤É¤Î ¥Ä¡¼¥ë¤ÇÀßÄꤵ¤ì¤¿IM¤¬Í¸ú¤Ë¤Ê¤ê¤Þ¤¹¡¥ ¤â¤·¡¤uimÁ´ÂΤÎÀßÄê¤È¤Ï°Û¤Ê¤ëIM¤ò¥Ç¥Õ¥©¥ë¥È¤ÇÍøÍѤ·¤¿¤±¤ì¤Ð¡¤ uim-default-im-engine ÊÑ¿ô¤Ë¤½¤ÎIM̾¤òÀßÄꤷ¤Æ²¼¤µ¤¤¡¥Î㤨¤Ð uim-anthy¤ò¥Ç¥Õ¥©¥ë¥È¤ÇÍøÍѤ·¤¿¤±¤ì¤Ð¡¤°Ê²¼¤òµ½Ò¤·¤Þ¤¹¡¥ (setq uim-default-im-engine "anthy") * ¥¤¥ó¥é¥¤¥óÊÑ´¹¸õÊäɽ¼¨µ¡Ç½¤ò¥Ç¥Õ¥©¥ë¥È¤Ç͸ú¤Ë¤¹¤ë uim.el¤Ï¡¤ÊÑ´¹¸õÊä¤òÆþÎÏÃæ¤Îʸ»úÎó¤Î¤¹¤°²¼ (¤â¤·¤¯¤Ï¤¹¤°¾å) ¤Ë ½ÄÊý¸þ¤Ëʤ٤Æɽ¼¨¤¹¤ëµ¡Ç½¤òÈ÷¤¨¤Æ¤¤¤Þ¤¹¡¥uim.el¤Ç¤Ï¤³¤ì¤ò ¡Ö¥¤¥ó¥é¥¤¥óÊÑ´¹¸õÊäɽ¼¨µ¡Ç½¡×¤È¸Æ¤ó¤Ç¤¤¤Þ¤¹¡¥ ¥¤¥ó¥é¥¤¥óÊÑ´¹¸õÊäɽ¼¨µ¡Ç½¤Ïuim.el¤ÎºÇ¤â½ÅÍפÊÆÃħ¤Î°ì¤Ä¤Ê¤Î¤Ç¤¹¤¬¡¤ ¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤òÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¤É½¼¨¤¬Êø¤ì¤Æ¤·¤Þ¤¦¤¿¤á¡¤ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï̵¸ú²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥ ¤â¤·¤¢¤Ê¤¿¤¬Emacs¤ÇÅùÉý¥Õ¥©¥ó¥È¤òÍøÍѤ·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¤¥¤¥ó¥é¥¤¥ó ÊÑ´¹¸õÊäɽ¼¨µ¡Ç½¤ò͸ú¤Ë¤¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡¥ ¥¤¥ó¥é¥¤¥óÊÑ´¹¸õÊäɽ¼¨µ¡Ç½¤ò¥Ç¥Õ¥©¥ë¥È¤Ç͸ú¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¤°Ê²¼¤Î Îã¤Î¤è¤¦¤Ë uim-candidate-display-inline ÊÑ¿ô¤Ënil°Ê³°¤ÎÃͤòÀßÄꤷ¤Þ¤¹¡¥ (setq uim-candidate-display-inline t) ÆÃÄê¤Î¥á¥¸¥ã¡¼¥â¡¼¥É¤Ë¤ª¤¤¤Æ¤Î¤ß¡¤¥¤¥ó¥é¥¤¥óÊÑ´¹¸õÊäɽ¼¨µ¡Ç½¤ò ͸ú (¤â¤·¤¯¤Ï̵¸ú) ¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¤uim-candidate-display-inline ÊÑ¿ô¤ò¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ë¤·¤¿¾å¤Ç¡¤Èónil (¤â¤·¤¯¤Ïnil) ¤ò¥»¥Ã¥È¤·¤Æ ²¼¤µ¤¤¡¥ Î㤨¤Ð¡¤¥¤¥ó¥é¥¤¥óÊÑ´¹¸õÊäɽ¼¨µ¡Ç½¤òtext-mode¤Ç¤Î¤ß͸ú¤Ë¤¹¤ë¤Ë¤Ï¡¤ °Ê²¼¤Î¤è¤¦¤Ëµ½Ò¤·¤Þ¤¹¡¥ (setq uim-candidate-display-inline nil) (add-hook 'text-mode-hook (lambda () (make-variable-buffer-local 'uim-candidate-display-inline) (setq uim-candidate-display-inline t))) * ¥×¥ê¥¨¥Ç¥£¥Ã¥Èʸ»úÎó¤äÊÑ´¹¸õÊä¤Î¿§¤òÊѹ¹¤¹¤ë uim.el¤Ï¡¤¥×¥ê¥¨¥Ç¥£¥Ã¥Èʸ»úÎó¤äÊÑ´¹¸õÊä¤ÎÁõ¾þ¤Ë°Ê²¼¤Î¥Õ¥§¥¤¥¹¤ò ÍѤ¤¤Æ¤¤¤Þ¤¹¡¥ - uim-preedit-highlight-face : ¥×¥ê¥¨¥Ç¥£¥Ã¥Èʸ»úÎó¤Î¥Ï¥¤¥é¥¤¥ÈÉôʬ - uim-separator-face : ¥×¥ê¥¨¥Ç¥£¥Ã¥Èʸ»úÎó¤Î¶èÀÚ¤êʸ»ú - uim-candidate-odd-face : ´ñ¿ôÈÖÌܤÎÊÑ´¹¸õÊä - uim-candidate-even-face : ¶ö¿ôÈÖÌܤÎÊÑ´¹¸õÊä - uim-candidate-selected-face : ÁªÂòÃæ¤ÎÊÑ´¹¸õÊä - uim-candidate-nth-face : ÁªÂòÃæ¤ÎÊÑ´¹¸õÊä¤ÎÈÖ¹æ ¤³¤ì¤é¤Î¿§¤òÊѹ¹¤·¤¿¤¤¾ì¹ç¡¤.emacs¤Ê¤É¤Ë°Ê²¼¤Î¤è¤¦¤Ëµ½Ò¤·¤Þ¤¹¡¥ (set-face-foreground 'uim-preedit-highlight-face "white") (set-face-background 'uim-preedit-highlight-face "blue") (set-face-foreground 'uim-separator-face "white") (set-face-foreground 'uim-candidate-odd-face "blue") (set-face-background 'uim-candidate-odd-face "white") (set-face-foreground 'uim-candidate-even-face "blue") (set-face-background 'uim-candidate-even-face "yellow") (set-face-foreground 'uim-candidate-selected-face "blue") (set-face-background 'uim-candidate-selected-face "white") (set-face-foreground 'uim-candidate-nth-face "red") (set-face-background 'uim-candidate-nth-face "white") ¤Ê¤ª¡¤Emacs¤ÇÍøÍѲÄǽ¤Ê¿§¤È¤½¤Î̾¾Î¤Ï¡¤°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç³Îǧ¤¹¤ë¤³¤È¤¬ ¤Ç¤¤Þ¤¹¡¥ M-x list-colors-display ¢¨ uim.el¤òautoload¤ÇÆɤ߹þ¤àÀßÄê¤Ë¤·¤Æ¤¤¤ë¾ì¹ç¡¤°Ê²¼¤Î¤è¤¦¤Ë¡¤ ¾åµ¤ÎÀßÄê¤ò uim-load-hook¤ÎÃæ¤Ëµ½Ò¤·¤Æ¤¯¤À¤µ¤¤¡¥ (add-hook 'uim-load-hook '(lambda () (set-face-foreground 'uim-preedit-highlight-face "white") (set-face-background 'uim-preedit-highlight-face "blue") ... (set-face-background 'uim-candidate-nth-face "white") )) * ¥×¥ê¥¨¥Ç¥£¥Ã¥È¤äÊÑ´¹¸õÊä¤ËÏȤòÉÕ¤±¤ë uim.el¤Ï¡¤¥×¥ê¥¨¥Ç¥£¥Ã¥È¤äÊÑ´¹¸õÊä¤Î¶³¦¤òASCIIʸ»ú¤ÇÉÁ²è¤¹¤ëµ¡Ç½¤ò È÷¤¨¤Æ¤¤¤Þ¤¹¡¥ Emacs¤ä¥¿¡¼¥ß¥Ê¥ë¥¨¥ß¥å¥ì¡¼¥¿¤¬²¼Àþ¤ä¿§¤Î¤Ä¤¤¤¿Ê¸»ú¤Îɽ¼¨¤Ë Âбþ¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤ËÈ÷¤¨¡¤uim.el¤Ç¤Ï ¥×¥ê¥¨¥Ç¥£¥Ã¥È¤ÎξÏƤ˥ե§¥ó¥¹¤òɽ¼¨¤µ¤»¤ë¤Ë¤Ï¡¤°Ê²¼¤òµ½Ò¤·¤Þ¤¹¡¥ (setq-default uim-preedit-display-fences t) ÊÑ´¹¸õÊä¤Î¥Õ¥ì¡¼¥à¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¤°Ê²¼¤òµ½Ò¤·¤Þ¤¹¡¥ (setq-default uim-candidate-display-frame t) * ÆÃÄê¤Î¥á¥¸¥ã¡¼¥â¡¼¥É¤Ë¤ª¤¤¤Æuim.el¤òºÇ½é¤«¤é͸ú¤Ë¤¹¤ë ÆÃÄê¤Î¥á¥¸¥ã¡¼¥â¡¼¥É¤Ë¤ª¤¤¤Æuim.el¤òºÇ½é¤«¤é͸ú¤Ë¤¹¤ë¤Ë¤Ï¡¤ ¥á¥¸¥ã¡¼¥â¡¼¥É¤Î¥Õ¥Ã¥¯¤ÎÃæ¤Çuim-mode´Ø¿ô¤ò¡¤1°Ê¾å¤Î¿ô¤ò°ú¿ô¤Ë ¸Æ¤Ó¤Þ¤¹¡¥ uim-mode¤òľÀÜÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï°Ê²¼¤Î¤è¤¦¤Ëµ½Ò¤·¤Þ¤¹¡¥ (add-hook 'html-mode-hook '(lambda () (uim-mode 1))) LEIM¤òÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¤°Ê²¼¤Î¤è¤¦¤Ëµ½Ò¤·¤Þ¤¹¡¥ (add-hook 'html-mode-hook '(lambda () (toggle-input-method))) Æüì¤Ê¥«¥¹¥¿¥Þ¥¤¥º ======================== * ³ÆIM¤Îɸ½à¤ÎÆþÎϥ⡼¥É¤òÊѹ¹¤¹¤ë ³ÆIM¤Îɸ½à¤ÎÆþÎϥ⡼¥É (¡Ö¤Ò¤é¤¬¤ÊÆþÎϡפä¡ÖȾ³Ñ¥«¥¿¥«¥ÊÆþÎϡפʤÉ)¤ò¡¤ uim¤ÎÁ´ÂÎÀßÄê¤È¤Ï°Û¤Ê¤ëÃͤËÊѹ¹¤·¤¿¤¤¾ì¹ç¤Ï¡¤ÀßÄê¤òÎóµó¤·¤¿¥ê¥¹¥È¤ò uim-default-im-prop¤ËÀßÄꤷ¤Þ¤¹¡¥ ¤¿¤È¤¨¤Ð¡¤uim-anthy¤Èuim-skk¤Ë´Ø¤·¤Æ¡¤uim.el¤¬µ¯Æ°¤¹¤ë¤ÈƱ»þ¤Ë ¤Ò¤é¤¬¤ÊÆþÎϥ⡼¥É¤Ë¤·¤Æ¤ª¤¤¿¤¤¾ì¹ç¤Ï¡¤°Ê²¼¤Î¤è¤¦¤Ë.emacs¤Ëµ½Ò¤·¤Þ¤¹¡¥ (setq uim-default-im-prop '("action_anthy_hiragana" "action_skk_hiragana")) ¤Ê¤ª¡¤"action_anthy_hiragana" ¤Ê¤É¤ÎÃͤ˴ؤ·¤Æ¤Ï¡¤¤Þ¤È¤Þ¤Ã¤¿ ¥É¥¥å¥á¥ó¥È¤¬Â¸ºß¤·¤Ê¤¤¤¿¤á¡¤³Æ¼ï¥â¡¼¥É¤ÎÃͤòÆÀ¤ë¤Ë¤Ï¡¤uim¤Î schemeµ½ÒɬÍפ¬¤¢¤ê¤Þ¤¹¡¥ °Ê²¼¤Î¤è¤¦¤Ëscheme¥Õ¥¡¥¤¥ë¤ògrep¤¹¤ë¤È¸«¤Ä¤«¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¤ ¤¢¤Þ¤êÎɤ¤ÊýË¡¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥ grep -r register-action /usr/share/uim/*.scm * ¥¿¡¼¥ß¥Ê¥ë¥â¡¼¥É¤Ç¤ÎEscape¥¡¼¤ÎµóÆ°¤òÊѹ¹¤¹¤ë Emacs¤ò -nw ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æ¥¿¡¼¥ß¥Ê¥ë¾å¤Çµ¯Æ°¤·¤¿¾ì¹ç¡¤uim.el¤Ï ¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥¡¼¤äÌð°õ¥¡¼¤Ê¤É¤ÎÆüì¤Ê¥¡¼¤òǧ¼±¤¹¤ë¤¿¤á¤Ë¡¤ ¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏñÆȤDz¡²¼¤µ¤ì¤¿Escape¤òuim¦¤ËÅϤµ¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥ ¤½¤Î¤¿¤á¡¤uim¦¤ÇñÆȤÎEscape¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿½èÍý¤òEmacs¾å¤Ç¸Æ¤Ó½Ð¤¹ ¾ì¹ç¡¤Escape¤ò2²ó³¤±¤ÆÆþÎϤ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡¥ ¤³¤ì¤¬¤É¤¦¤·¤Æ¤â·ù¤Ê¾ì¹ç¤Ï¡¤uim-use-single-escape-on-terminal ÊÑ¿ô¤ò Èónil¤Ë¤¹¤ë¤³¤È¤Ç¡¤¥×¥ê¥¨¥Ç¥£¥Ã¥Èʸ»úÎóɽ¼¨Ãæ¤ËñÆȤÎEscape¤ò͸ú¤Ë ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡¥ (setq uim-use-single-escape-on-terminal t) ¢¨ ¤³¤ÎÀßÄê¤ò¹Ô¤¦¤È¡¤¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥¡¼¤äÌð°õ¥¡¼¤Ê¤É¤ÎÆüì¤Ê¥¡¼¤Î¾¡¤ Alt¥¡¼¤òÁȤ߹ç¤ï¤»¤¿¥¡¼¥Ð¥¤¥ó¥É¤Ê¤É¤âÀµ¤·¤¯Æ°ºî¤·¤Ê¤¯¤Ê¤ë¤¿¤á¡¤ ¤ªÁ¦¤á¤·¤Þ¤»¤ó¡¥ ¥³¥Þ¥ó¥É ======== * uim-mode uim-mode¤òľÀÜÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ë¡¤uim.el¤Î¥ª¥ó¥ª¥Õ¤òÀÚ¤êÂؤ¨¤Þ¤¹¡¥ * uim-im-switch uim.el¤ò¥Þ¥¤¥Ê¡¼¥â¡¼¥É¤ÇľÀÜÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ë¡¤¸½ºß¤Î¥Ð¥Ã¥Õ¥¡¤Ç ÍøÍѤ·¤Æ¤¤¤ëIM¤òÊѹ¹¤·¤Þ¤¹¡¥ÆþÎϸ塤tab¤ò²¡¤¹¤È¡¤ÍøÍѲÄǽ¤ÊIM¤¬ °ìÍ÷ɽ¼¨¤µ¤ì¡¤ÁªÂò¤Ç¤¤Þ¤¹¡¥ ¢¨ LEIM¤Çuim.el¤òÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¤set-input-method ¥³¥Þ¥ó¥É¤ò ÍøÍѤ·¤ÆIM¤òÀÚ¤êÂؤ¨¤Æ²¼¤µ¤¤¡¥ * uim-switch-candidate-display-mode ¸½ºß¤Î¥Ð¥Ã¥Õ¥¡¤Î¥¤¥ó¥é¥¤¥óÊÑ´¹¸õÊäɽ¼¨µ¡Ç½¤Î¥ª¥ó¥ª¥Õ¤òÀÚ¤êÂؤ¨¤Þ¤¹¡¥ * uim-reorder-minor-mode-map-alist ¥Þ¥¤¥Ê¡¼¥â¡¼¥É¤Î¥¡¼¥Þ¥Ã¥×¤òʤÓÂؤ¨¤Æ¡¤uim.el¤Î¥Þ¥Ã¥×¤òÀèƬ¤Ë °ÜÆ°¤µ¤»¤Þ¤¹¡¥¾ÜºÙ¤ÏFAQ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥ * uim-el-version uim.el¤Î¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤·¤Þ¤¹¡¥ FAQ === Q. gtags-mode¤òµ¯Æ°¤¹¤ë¤È¡¤uim-anthy¤òOn¤Ë¤Ç¤¤Ê¤¯¤Ê¤ê¤Þ¤¹¡¥ »ä¤Ï¡¤uim-anthy¤ÎOn/Off¤ËAlt+Space¤ò³ä¤êÅö¤Æ¤Æ¤¤¤Þ¤¹¡¥ A. Emacs¤ò¥¿¡¼¥ß¥Ê¥ë¾å¤Çµ¯Æ°¤·¤Æ¤ª¤ê¡¤ÆâÉô¤ÇEscape¤Ç»Ï¤Þ¤ë¥¡¼¥Þ¥Ã¥×¤ò È÷¤¨¤¿¥Þ¥¤¥Ê¡¼¥â¡¼¥É (gtags-mode¤Ê¤É) ¤òuim.el¤è¤ê¸å¤ËÆɤ߹þ¤ó¤Ç ¤·¤Þ¤¦¤È¡¤¤³¤Î¤è¤¦¤ÊÌäÂ꤬ȯÀ¸¤·¤Þ¤¹¡¥ ¤³¤Î¤è¤¦¤ÊÌäÂê¤Ï¡¤Â¾¤Î¥Þ¥¤¥Ê¡¼¥â¡¼¥É¤ò͸ú¤Ë¤·¤¿¸å¤Ë¡¤¥Þ¥¤¥Ê¡¼ ¥â¡¼¥É¤Î¥¡¼¥Þ¥Ã¥×Îó¤òʤÓÂؤ¨¡¤ÀèƬ¤Ëuim.el¤Î¥¡¼¥Þ¥Ã¥×¤ò °ÜÆ°¤µ¤»¤ë¤³¤È¤Ç²ò¾Ã²Äǽ¤Ç¤¹¡¥ uim-reorder-minor-mode-alist ´Ø¿ô¤¬¡¤¤½¤Îµ¡Ç½¤òÄ󶡤·¤Þ¤¹¡¥ ¤¿¤È¤¨¤Ð¡¤.emacs¤Ç°Ê²¼¤Î¤è¤¦¤Ë¤·¤Ægtags-mode¤òµ¯Æ°¤·¤Æ¤¤¤ë¤Ê¤é¡¤ (add-hook 'c-mode-common-hook '(lambda () (gtags-mode 1))) ¼¡¤Î¤è¤¦¤Ë¡¤gtags-mode¤òµ¯Æ°¤·¤¿¸å¤Çuim-reorder-minor-mode-alist¤ò ¸Æ¤Ó½Ð¤¹¤è¤¦¤Ë¤·¤Þ¤¹¡¥ (add-hook 'c-mode-common-hook '(lambda () (gtags-mode 1) (uim-reorder-minor-mode-map-alist))) Q. LaTeX¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Æ¤¤¤ë¤È¡¤uim.el¤¬ÊÑ´¹¸õÊä¤ò½Ð¤·¤¿¤ê¾Ã¤·¤¿¤ê ¤¹¤ë¤¿¤Ó¤Ë¡¤¹Ô¤¬¥Ô¥¯¥Ô¥¯Æ°¤¯¤³¤È¤¬¤¢¤ê¤Þ¤¹¡¥ °ìÂβ¿¤¬µ¯¤¤Æ¤¤¤ë¤Î¤Ç¤¹¤«¡© A. ¤³¤ì¤Ï¡¤Emacs-22.x¤Îlatex-mode¤¬¡¤¡Ö^¡×¤ä¡Ö_¡×¤Î¸å¤Îʸ»ú¤Î¥Õ¥©¥ó¥È ¥µ¥¤¥º¤ò¾®¤µ¤¯¤·¤Æ¤·¤Þ¤¦¤È¤¤¤¦¤ªÀá²ð¤Ê»ÅÍͤ¬¸¶°ø¤Ç¤¹¡¥ µ¤¤Ë¤Ê¤ë¤Î¤Ç¤¢¤ì¤Ð¡¤°Ê²¼¤ÎÀßÄê¤ò.emacs¤ËÄɲ䷤ơ¤latex-mode¤Ç ¾åÉդʸ»ú¤ä²¼Éդʸ»ú¤ÎÉôʬ¤Î¥µ¥¤¥º¤¬¾®¤µ¤¯¤Ê¤é¤Ê¤¤¤è¤¦¤Ë¤·¤Æ²¼¤µ¤¤¡¥ (add-hook 'latex-mode-hook '(lambda () (setq tex-verbatim-face nil) (defun tex-font-lock-suscript () nil))) Q. ¥¤¥ó¥é¥¤¥óÊÑ´¹¸õÊäɽ¼¨¤¬ÆÍÁ³Ìµ¸ú²½¤µ¤ì¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ê¤Þ¤¹¡¥ ¤Ê¤¼¤Ç¤¹¤«¡© A. ¤ª¤½¤é¤¯¡¤uim.el¤¬ÊÑ´¹¸õÊä¤òɽ¼¨¤·¤è¤¦¤È¤·¤Æ¤¤¤ëÎΰè¤Ë¥ª¡¼¥Ð¥ì¥¤¤¬ ¸ºß¤·¤Æ¤¤¤ë¤È»×¤ï¤ì¤Þ¤¹¡¥ uim.el¤Ï¡¤µ»½ÑŪ¤ÊÍýͳ¤«¤é¡¤¥ª¡¼¥Ð¥ì¥¤¤Î¤¢¤ëÎΰè¤ËÊÑ´¹¸õÊä¤ò ɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡¥ÊÑ´¹¸õÊ䤬ɽ¼¨¤µ¤ì¤ë¤Ù¤Îΰè¤Ë¥ª¡¼¥Ð¥ì¥¤¤¬ ¸ºß¤·¤¿¾ì¹ç¡¤¥¤¥ó¥é¥¤¥óÊÑ´¹¸õÊäɽ¼¨µ¡Ç½¤Ï°ì»þŪ¤Ë̵¸ú²½¤µ¤ì¤Þ¤¹¡¥ Î㤨¤Ð¡¤flyspell-mode¤äshow-paren-mode¡¤mmm-mode¤Ê¤É¤¬ ¥ª¡¼¥Ð¥ì¥¤¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡¥¤Þ¤¿¡¤Mew¤Î¥Ø¥Ã¥ÀÆþÎÏÍó¤Ç¤âÍøÍÑ ¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥¤³¤ì¤é¥â¡¼¥É¤Èuim.el¤ò°ì½ï¤ËÍøÍѤ·¤¿¾ì¹ç¡¤ ¥¤¥ó¥é¥¤¥óÊÑ´¹¸õÊäɽ¼¨¤¬Ìµ¸ú²½¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡¥ Q. Emacs¤Ç¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤òÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ë¡¤ÊÑ´¹¸õÊä¤Î ɽ¼¨¤¬Êø¤ì¤Þ¤¹¡¥¤É¤¦¤¹¤ì¤Ðľ¤ê¤Þ¤¹¤«¡© A. »ÄÇ°¤Ê¤¬¤é¡¤¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤òÍøÍѤ·¤Æ¤¤¤ë¸Â¤ê¡¤ ¥¤¥ó¥é¥¤¥óÊѲ½¸õÊä¤Îɽ¼¨¤ÎÊø¤ì¤òËɤ°¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡¥ ¤É¤¦¤·¤Æ¤â¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤òÍøÍѤ·¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¤ ¥¤¥ó¥é¥¤¥óÊÑ´¹¸õÊäɽ¼¨¤ò̵¸ú²½¤¹¤ë¤«¡¤¤µ¤â¤Ê¤¯¤ÏÊø¤ì¤ë¤Î¤ò ²æËý¤·¤Æ²¼¤µ¤¤¡¥ Q. uim.el¤ò͸ú¤Ë¤·¤Æ¤¤¤ë¤È¡¤»ä¤Î¤è¤¯»È¤¦¥¡¼Áàºî¤¬Àµ¾ï¤Ë µ¡Ç½¤·¤Þ¤»¤ó¤¬¤Ê¤¼¤Ç¤¹¤«¡© A. uim.el¤Ï¡¤¤¢¤ê¤È¤¢¤é¤æ¤ë¥¡¼Áàºî¤ò²£¼è¤ê¤·¤Æ°ìÅÙuim¤ËÅϤ¹¤³¤È¤ò ¤·¤Æ¤¤¤Þ¤¹¡¥¤½¤Î¤¿¤á¡¤¸µ¡¹¤ÎÆüì¤ÊÊýË¡¤Ç¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë°ìÉô¤Î ¥¡¼Áàºî¤Ï¡¤uim.el¤ò͸ú¤Ë¤·¤¿¾ì¹ç¡¤Àµ¾ï¤ËÍøÍѤǤ¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦ ²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡¥ ¤½¤Î¤è¤¦¤Ê¥¡¼Áàºî¤Ï¡¤¸«ÉÕ¤±¼¡Âèuim.el¤ò²þÎɤ·¤ÆÂбþ¤¹¤ë¤è¤¦¤Ë ¤·¤Æ¤¤¤Þ¤¹¤¬¡¤ºî¼Ô¤¬°ìÅÙ¤â»È¤Ã¤¿¤³¤È¤Î¤Ê¤¤¥¡¼Áàºî¤ÎÃæ¤Ë¤Ï¡¤ Àµ¾ï¤ËÆ°ºî¤·¤Ê¤¤¤â¤Î¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡¥ ¤â¤·¡¤uim.el¤òON¤Ë¤¹¤ë¤ÈÍøÍѤǤ¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¥¡¼Áàºî¤ò ¸«¤Ä¤±¤¿¤é¡¤À§ÈóBugzilla¤äML¤ÇÊó¹ð¤·¤Æ¤¯¤À¤µ¤¤¡¥ Q. ***-mode¤òuim.el¤ÈÁȤ߹ç¤ï¤»¤ÆÍøÍѤ¹¤ë¤È´ñ̯¤Ê¿¶¤ëÉñ¤¤¤ò¼¨¤¹¤Î¤Ç¤¹¤¬ ¤Ê¤¼¤Ç¤¹¤«¡© A. Á°½Ò¤Îuim.el¤ÎÆüìÀ¤«¤é¡¤uim.el¤òÆÃÄê¤Î¥â¡¼¥É¤ÈÁȤ߹ç¤ï¤»¤ÆÍøÍѤ·¤¿ ¾ì¹ç¤Ë¡¤¤½¤Î¥â¡¼¥É¤¬¤ª¤«¤·¤ÊµóÆ°¤ò¼¨¤¹²ÄǽÀ¤Ï½½Ê¬¹Í¤¨¤é¤ì¤Þ¤¹¡¥ ¤â¤·¡¤¤½¤Î¤è¤¦¤Ê¥â¡¼¥É¤ò¸«¤Ä¤±¤¿¤é¡¤À§ÈóBugzilla¤äML¤ÇÊó¹ð¤·¤Æ¤¯¤À¤µ¤¤¡¥ Q. »þ¡¹¡¤ÆÍÁ³Emacs¤¬ÁàºîÉÔǽ¤Ë¤Ê¤ê¤Þ¤¹¡¥¤·¤Ð¤é¤¯¤¹¤ë¤ÈÉü³è¤¹¤ë¤Î¤Ç¤¹¤¬¡¤ uim-mode¤¬Ìµ¸ú²½¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡¥ A. ¤ª¤½¤é¤¯¡¤uim.el¤Î¥Ð¥Ã¥¯¥¨¥ó¥É¥×¥í¥°¥é¥à (uim-el-agent¤â¤·¤¯¤Ï uim-el-helper-agent) ¤¬¥¯¥é¥Ã¥·¥å¤·¤¿¤È»×¤ï¤ì¤Þ¤¹¡¥ ºÆ¸½À¤¬¤¢¤ë¤è¤¦¤Ç¤·¤¿¤é¡¤À§ÈóBugzilla¤äML¤ÇÊó¹ð¤·¤Æ¤¯¤À¤µ¤¤¡¥ Q. »ä¤Ïuim-anthy¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡¥Emacs¤ò¥¿¡¼¥ß¥Ê¥ë¥¨¥ß¥å¥ì¡¼¥¿¾å¤Ç µ¯Æ°¤·¤¿¾ì¹ç¡¤¥·¥Õ¥È¡Ü±¦Ìð°õ¤ª¤è¤Ó¥·¥Õ¥È¡Üº¸Ìð°õ¤ÇʸÀá¤Î ¿¤Ð¤·½Ì¤ß¤¬¤Ç¤¤Þ¤»¤ó¡¥¤Ê¤¼¤Ç¤·¤ç¤¦¤«¡© A. ¤ª¤½¤é¤¯¡¤°Ê²¼¤Î3¤Ä¤ÎÍýͳ¤Î¤É¤ì¤«¤Ë¤è¤ë¤â¤Î¤Ç¤·¤ç¤¦¡¥ 1) ¥·¥Õ¥È¡Üº¸/±¦Ìð°õ¤¬¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤ä¥¿¡¼¥ß¥Ê¥ë¥¨¥ß¥å¥ì¡¼¥¿ ¼«¿È¤Î¥·¥ç¡¼¥È¥«¥Ã¥È¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë 2) ¥¿¡¼¥ß¥Ê¥ë¥¨¥ß¥å¥ì¡¼¥¿¤¬¥·¥Õ¥È¡ÜÌð°õ¥¡¼¤òǧ¼±¡¦½èÍý¤Ç¤¤Ê¤¤ 3) ¥¿¡¼¥ß¥Ê¥ë¥¨¥ß¥å¥ì¡¼¥¿¤¬ÅϤ·¤Æ¤¯¤ë¥·¥Õ¥È¡ÜÌð°õ¥¡¼¤Î ¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤òEmacs¤¬Íý²ò¤Ç¤¤Æ¤¤¤Ê¤¤ 1)¤Ïñ½ã¤Ç¤¹¡¥¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤ä¡¤¥¿¡¼¥ß¥Ê¥ë¥¨¥ß¥å¥ì¡¼¥¿¤Î ÀßÄê¤ò½¤Àµ¤·¡¤¤³¤Îͳ²¤Ê¥·¥ç¡¼¥È¥«¥Ã¥È¤ò̵¸ú²½¤·¤Æ²¼¤µ¤¤¡¥ 2)¤Ï¿¼¹ï¤Ç¤¹¡¥¥·¥Õ¥È¡ÜÌð°õ¥¡¼¤ÎÍøÍѤòÄü¤á¤ë¤«¡¤¤¢¤ë¤¤¤Ï¾¤Î ¥¿¡¼¥ß¥Ê¥ë¥¨¥ß¥å¥ì¡¼¥¿¤Ë¾è¤ê´¹¤¨¤ë¤·¤«¤¢¤ê¤Þ¤»¤ó¡¥ 3)¤Ï¡¤.emacs¤Ë¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤ÈÂбþ¤¹¤ë¥¡¼¤Î¥Ú¥¢¤ò Äɲ乤뤳¤È¤Ç½¤Àµ²Äǽ¤Ç¤¹¡¥ Î㤨¤Ð¡¤GNU Emacs¤Ï¡¤°Ê²¼¤òÀßÄê¤Ë²Ã¤¨¤ë¤³¤È¤Ç¡¤¤ª¤½¤é¤¯¤ÏÂç³µ¤Î ¥¿¡¼¥ß¥Ê¥ë¥¨¥ß¥å¥ì¡¼¥¿¤ËÂбþ¤Ç¤¤Þ¤¹¡¥ ;; xterm¡¤mlterm¤Ê¤É (define-key function-key-map [27 79 49 59 50 65] [S-up]) (define-key function-key-map [27 79 49 59 50 66] [S-down]) (define-key function-key-map [27 79 49 59 50 67] [S-right]) (define-key function-key-map [27 79 49 59 50 68] [S-left]) (define-key function-key-map [27 79 49 59 53 65] [C-up]) (define-key function-key-map [27 79 49 59 53 66] [C-down]) (define-key function-key-map [27 79 49 59 53 67] [C-right]) (define-key function-key-map [27 79 49 59 53 68] [C-left]) (define-key function-key-map [27 79 49 59 54 65] [C-S-up]) (define-key function-key-map [27 79 49 59 54 66] [C-S-down]) (define-key function-key-map [27 79 49 59 54 67] [C-S-right]) (define-key function-key-map [27 79 49 59 54 68] [C-S-left]) ;; mrxvt¤Ê¤É (define-key function-key-map [27 91 49 59 50 65] [S-up]) (define-key function-key-map [27 91 49 59 50 66] [S-down]) (define-key function-key-map [27 91 49 59 50 67] [S-right]) (define-key function-key-map [27 91 49 59 50 68] [S-left]) (define-key function-key-map [27 91 49 59 53 65] [C-up]) (define-key function-key-map [27 91 49 59 53 66] [C-down]) (define-key function-key-map [27 91 49 59 53 67] [C-right]) (define-key function-key-map [27 91 49 59 53 68] [C-left]) (define-key function-key-map [27 91 49 59 54 65] [C-S-up]) (define-key function-key-map [27 91 49 59 54 66] [C-S-down]) (define-key function-key-map [27 91 49 59 54 67] [C-S-right]) (define-key function-key-map [27 91 49 59 54 68] [C-S-left]) ;; urxvt ¤Ê¤É (define-key function-key-map [27 91 97] [S-up]) (define-key function-key-map [27 91 98] [S-down]) (define-key function-key-map [27 91 99] [S-right]) (define-key function-key-map [27 91 100] [S-left]) (define-key function-key-map [27 79 97] [C-up]) (define-key function-key-map [27 79 98] [C-down]) (define-key function-key-map [27 79 99] [C-right]) (define-key function-key-map [27 79 100] [C-left]) Q. ¤«¤ÊÆþÎÏ»þ¤Ë¡¤¡Ö¤í¡×¤È¡Ö¡¼¡×¤Î¤É¤Á¤é¤Î¥¡¼¤ò²¡¤·¤Æ¤â¡Ö¤í¡×¤¬ÆþÎÏ ¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡¥¤É¤¦¤¹¤ì¤Ð¡Ö¡¼¡×¤Î¥¡¼¤Ç¡Ö¡¼¡×¤¬ÆþÎϤµ¤ì¤ë ¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¤«¡© A. »ÄÇ°¤Ê¤¬¤é¡¤¤³¤ì¤ò¼Â¸½¤¹¤ëÎɤ¤ÊýË¡¤ò»ä¤¿¤Á¤ÏÃΤê¤Þ¤»¤ó¡¥ ¾¯¤Ê¤¯¤È¤â GNU Emacs¾å¤ÇÆ°ºî¤·¤Æ¤¤¤ëELISP¤Î¥×¥í¥°¥é¥à¤«¤é¡¤ ¤³¤ì¤é2¤Ä¤Î¥¡¼¤Î¤É¤Á¤é¤¬²¡¤µ¤ì¤¿¤«¤ò¶èÊ̤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡¥ GNU Emacs¤Ï¡¤Ã±¤Ë¡Ö\¡×(¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å) ¥¡¼¤¬²¡¤µ¤ì¤¿¤È¤·¤« ǧ¼±¤·¤Ê¤¤¤Î¤Ç¤¹¡¥ Q. º£Ä«CVS¤«¤é¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤Æ¤¤¿Emacs¤À¤Èuim.el¤¬Æ°¤¤Þ¤»¤ó¡ª Á᤯²¿¤È¤«¤·¤Æ¤¯¤À¤µ¤¤¡ª A. ¤´¤á¤ó¤Ê¤µ¤¤¡¥CVS¤ÎºÇÀèü¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¡¤¤·¤Ð¤·¤Ð¤ª¤«¤·¤Ê¥Ð¥°¤¬ º®Æþ¤¹¤ë¤¿¤á¡¤¸½ºß¤ÏÀѶËŪ¤Ê¥µ¥Ý¡¼¥È¤ò¤·¤Æ¤¤¤Þ¤»¤ó¡¥