Next: Disabling Commands, Previous: Prefix Command Arguments, Up: Command Loop [Contents][Index]
Emacs¤¬Æ°ºî¤ò»Ï¤á¤ë¤È¡¢Emacs¤Î¥³¥Þ¥ó¥É¥ë¡¼¥×¤Ë¼«Æ°Åª¤ËÆþ¤ê¤Þ¤¹¡£ ¤³¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤Î¥³¥Þ¥ó¥É¥ë¡¼¥×¤«¤é¤Ï¤±¤Ã¤·¤ÆÈ´¤±¤ë¤³¤È¤Ï¤Ê¤¯¡¢ Emacs¤¬Æ°¤¤¤Æ¤¤¤ë¸Â¤êưºî¤·Â³¤±¤Þ¤¹¡£ Lisp¥×¥í¥°¥é¥à¤«¤é¥³¥Þ¥ó¥É¥ë¡¼¥×¤òµ¯Æ°¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£ ¤½¤¦¤¹¤ë¤È¡¢³èÀ¤Ê¥³¥Þ¥ó¥É¥ë¡¼¥×¤¬Ê£¿ôºî¤é¤ì¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢ ¤½¤ì¤òºÆµ¢ÊÔ½¸¡Êrecursive editing¡Ë¤È¸Æ¤Ó¤Þ¤¹¡£ ºÆµ¢ÊÔ½¸¥ì¥Ù¥ë¤Ë¤Ï¡¢¤½¤ì¤òµ¯Æ°¤·¤¿¥³¥Þ¥ó¥É¤ò°ì»þµÙ»ß¤µ¤»¡¢ Åö³º¥³¥Þ¥ó¥É¤òºÆ³«¤¹¤ë¤Þ¤Ç¥æ¡¼¥¶¡¼¤Ë¤É¤ó¤ÊÊÔ½¸¤Ç¤âµö¤¹¸ú²Ì¤¬¤¢¤ê¤Þ¤¹¡£
ºÆµ¢ÊÔ½¸Ãæ¤ËÍøÍѲÄǽ¤Ê¥³¥Þ¥ó¥É¤Ï¡¢¥È¥Ã¥×¥ì¥Ù¥ë¤Î¥³¥Þ¥ó¥É¥ë¡¼¥×¤È Ʊ¤¸¤â¤Î¤Ç¤¢¤ê¥¡¼¥Þ¥Ã¥×¤ÇÄêµÁ¤µ¤ì¤Þ¤¹¡£ ºÆµ¢ÊÔ½¸¤òÈ´¤±¤ë¤¿¤á¤Î¿ô¸Ä¤ÎÆÃÊ̤ʥ³¥Þ¥ó¥É¤¬¤¢¤ê¡¢ ´°Î»¤¹¤ë¤ÈºÆµ¢ÊÔ½¸¥ì¥Ù¥ë¤«¤éÈ´¤±¤ëÊ̤Υ³¥Þ¥ó¥É¤â¤¢¤ê¤Þ¤¹¡£ ¡ÊºÆµ¢ÊÔ½¸¤òÈ´¤±¤ë¥³¥Þ¥ó¥É¤Ï¤Ä¤Í¤ËÍøÍѲÄǽ¤Ç¤¢¤ë¤¬¡¢ ºÆµ¢ÊÔ½¸Ãæ¤Ç¤Ê¤¤¤È¤Ê¤Ë¤â¹Ô¤ï¤Ê¤¤¡£¡Ë
ºÆµ¢ÊÔ½¸¤ò´Þ¤à¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¥ë¡¼¥×¤Ç¤Ï¡¢ ¥³¥Þ¥ó¥É¥ë¡¼¥×¤«¤é¼Â¹Ô¤·¤¿¥³¥Þ¥ó¥É¤Î¥¨¥é¡¼¤Ë¤è¤Ã¤Æ ¥³¥Þ¥ó¥É¥ë¡¼¥×¤«¤éÈ´¤±½Ð¤µ¤Ê¤¤¤è¤¦¤ËÈÆÍÑÌÜŪ¤Î¥¨¥é¡¼¥Ï¥ó¥É¥é¤òÀßÄꤷ¤Þ¤¹¡£
¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ç¤ÎÆþÎϤϡ¢ÆÃÊ̤ʼïÎà¤ÎºÆµ¢ÊÔ½¸¤Ç¤¹¡£ ¤³¤ì¤Ë¤Ï¡¢¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤ä¥ß¥Ë¥Ð¥Ã¥Õ¥¡ÍÑ¥¦¥£¥ó¥É¥¦¤òɽ¼¨¤¹¤ë¤Ê¤É¤ÎÆÃÊÌ¤Ê ½èÍý¤¬¤¢¤ê¤Þ¤¹¤¬¡¢ÆÉ¼Ô¤¬¹Í¤¨¤ë¤è¤ê¤Ï¾¯¤Ê¤¤¤Î¤Ç¤¹¡£ ¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ç¤ÏÆÃÊ̤ʤդë¤Þ¤¤¤ò¤¹¤ë¥¡¼¤â¤¢¤ê¤Þ¤¹¤¬¡¢ ¤½¤ì¤é¤Ï¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Î¥í¡¼¥«¥ë¥Þ¥Ã¥×¤Ë¤è¤ë¤â¤Î¤Ç¤¹¡£ ¥¦¥£¥ó¥É¥¦¤òÀÚ¤êÂØ¤¨¤ë¤È¡¢Emacs¤ÎÉáÄ̤Υ³¥Þ¥ó¥É¤ò»È¤¨¤Þ¤¹¡£
ºÆµ¢ÊÔ½¸¥ì¥Ù¥ë¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢´Ø¿ôrecursive-edit
¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
¤³¤Î´Ø¿ô¤Ë¤Ï¥³¥Þ¥ó¥É¥ë¡¼¥×¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
¤µ¤é¤Ë¡¢exit
¤òȼ¤Ã¤¿catch
¤Î¸Æ¤Ó½Ð¤·¤â¤¢¤ê¡¢
¤³¤ì¤Ë¤è¤ê¡¢exit
¤ØÅꤲ¤ë¤³¤È¤Ç
ºÆµ¢ÊÔ½¸¥ì¥Ù¥ë¤«¤éÈ´¤±½Ð¤»¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹
¡Êsee Catch and Throw¡Ë¡£
t
°Ê³°¤ÎÃͤòÅꤲ¤ë¤È¡¢recursive-edit
¤Ï¡¢
¸Æ¤Ó½Ð¤·Â¦¤Î´Ø¿ô¤ØÉáÄ̤ËÌá¤ê¤Þ¤¹¡£
¥³¥Þ¥ó¥ÉC-M-c¡Êexit-recursive-edit
¡Ë¤Ï¡¢¤³¤ì¤ò¹Ô¤¤¤Þ¤¹¡£
ÃÍt
¤òÅꤲ¤ë¤Èrecursive-edit
¤ËÃæÃǤò°ú¤µ¯¤³¤·¡¢
1¤Ä¾å¤Î¥ì¥Ù¥ë¤Î¥³¥Þ¥ó¥É¥ë¡¼¥×¤ØÀ©¸æ¤òÌᤷ¤Þ¤¹¡£
¤³¤ì¤ò¶¯À©½ªÎ»¡Êaborting¡Ë¤È¸Æ¤Ó¡¢
C-]¡Êabort-recursive-edit
¡Ë¤Ç¹Ô¤¨¤Þ¤¹¡£
¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤ò»È¤¦¾ì¹ç¤ò½ü¤¤¤Æ¡¢¤Û¤È¤ó¤É¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï ºÆµ¢ÊÔ½¸¤ò»È¤¦¤Ù¤¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Î¥á¥¸¥ã¡¼¥â¡¼¥É¤ò °ì»þŪ¤ÊÆÃÊ̤ʥ᥸¥ã¡¼¥â¡¼¥É¤ËÊѹ¹¤¹¤ë¤Û¤¦¤¬¡¢ °ìÈ̤ˤϥ桼¥¶¡¼¤Ë¤È¤Ã¤Æ¤è¤êÊØÍø¤Ç¤¹¡£ ¤¿¤À¤·¡¢Åö³º¥á¥¸¥ã¡¼¥â¡¼¥É¤Ë¤Ï¡¢ ¤Þ¤¨¤Î¥â¡¼¥É¤ËÌá¤ë¥³¥Þ¥ó¥É¤òÍѰդ·¤Æ¤ª¤¤Þ¤¹¡£ ¡Êrmail¤Î¥³¥Þ¥ó¥Ée¤Ï¡¢¤³¤ÎÊý¼°¤ò»È¤Ã¤Æ¤¤¤ë¡£¡Ë ¤¢¤ë¤¤¤Ï¡¢¡ØºÆµ¢Åª¤Ë¡ÙÊÔ½¸¤¹¤ëÊ̤Υƥ¥¹¥È¤ò¥æ¡¼¥¶¡¼¤ËÍ¿¤¨¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ ÆÃÊ̤ʥ⡼¥É¤Î¿·¤¿¤Ê¥Ð¥Ã¥Õ¥¡¤òºîÀ®¤·¤Æ¤½¤ì¤òÁªÂò¤·¤Þ¤¹¡£ Åö³º¥â¡¼¥É¤Ë¤Ï¡¢½èÍý¤ò½ª¤¨¤Æ¤Þ¤¨¤Î¥Ð¥Ã¥Õ¥¡¤ËÌá¤ë¥³¥Þ¥ó¥É¤ò ÄêµÁ¤·¤Æ¤ª¤¤Þ¤¹¡£ ¡Êrmail¤Î¥³¥Þ¥ó¥Ém¤Ï¡¢¤³¤Î¤è¤¦¤Ë¤¹¤ë¡£¡Ë
ºÆµ¢ÊÔ½¸¤Ï¥Ç¥Ð¥Ã¥°¤ËÊØÍø¤Ç¤¹¡£
¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤Î°ì¼ï¤È¤·¤Æ´Ø¿ôÄêµÁ¤Ë
debug
¤Î¸Æ¤Ó½Ð¤·¤òÁÞÆþ¤·¤Æ¤ª¤¯¤È¡¢
¤½¤Î²Õ½ê¤Ë㤷¤¿¤È¤¤Ë¤¤¤í¤¤¤í¤ÈÄ´¤Ù¤é¤ì¤Þ¤¹¡£
debug
¤ÏºÆµ¢ÊÔ½¸¤òµ¯Æ°¤·¤Þ¤¹¤¬¡¢¥Ç¥Ð¥Ã¥¬¤È¤·¤Æ¤Îµ¡Ç½¤âÄ󶡤·¤Þ¤¹¡£
query-replace
¤ÇC-r¤òÂǤ俤ꡢ
C-x q¡Êkbd-macro-query
¡Ë¤ò»È¤Ã¤¿¤È¤¤Ë¤â
ºÆµ¢ÊÔ½¸¥ì¥Ù¥ë¤¬»È¤ï¤ì¤Þ¤¹¡£
¤³¤Î´Ø¿ô¤Ï¥¨¥Ç¥£¥¿¥³¥Þ¥ó¥É¥ë¡¼¥×¤òµ¯Æ°¤¹¤ë¡£ Emacs¤Î½é´ü²½²áÄø¤Ç¼«Æ°Åª¤Ë¸Æ¤Ó½Ð¤µ¤ì¡¢¥æ¡¼¥¶¡¼¤¬ÊÔ½¸¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¡£ Lisp¥×¥í¥°¥é¥à¤«¤é¸Æ¤Ð¤ì¤ë¤È¡¢ºÆµ¢ÊÔ½¸¥ì¥Ù¥ë¤ËÆþ¤ë¡£
°Ê²¼¤ÎÎã¤Ç¤Ï¡¢´Ø¿ôsimple-rec
¤Ï¡¢¤Þ¤º1ñ¸ìʬ¥Ý¥¤¥ó¥È¤ò¿Ê¤á¡¢
¥¨¥³¡¼Îΰè¤Ë¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤ÆºÆµ¢ÊÔ½¸¤ËÆþ¤ë¡£
¤½¤¦¤¹¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Ï˾¤à¤³¤È¤Ï¤Ê¤ó¤Ç¤â¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¡¢
¡ÊºÆµ¢ÊÔ½¸¤ò¡ËÈ´¤±¤ë¤¿¤á¤ËC-M-c¤òÂǤĤȡ¢
simple-rec
¤Î¼Â¹Ô¤ò·Ñ³¤¹¤ë¡£
(defun simple-rec () (forward-word 1) (message "Recursive edit in progress") (recursive-edit) (forward-word 1)) ⇒ simple-rec (simple-rec) ⇒ nil
¤³¤Î´Ø¿ô¤Ï¡¢¡Ê¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ç¤ÎÆþÎϤò´Þ¤à¡Ë¤â¤Ã¤È¤âÆâ¦¤ÎºÆµ¢ÊÔ½¸¤«¤éÈ´¤±¤ë¡£
¤½¤Î´Ø¿ôÄêµÁ¤Ï¼Â¼ÁŪ¤Ë¤Ï(throw 'exit nil)
¤Ç¤¢¤ë¡£
¤³¤Î´Ø¿ô¤Ï¡¢ºÆµ¢ÊÔ½¸¤«¤éÈ´¤±¤¿¤¢¤È¤Çquit
¤òÄÌÃΤ¹¤ë¤³¤È¤Ç¡¢
¡Ê¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ç¤ÎÆþÎϤò´Þ¤à¡Ë¤â¤Ã¤È¤âÆâ¦¤ÎºÆµ¢ÊÔ½¸¤ò
Í×ÀÁ¤·¤¿¥³¥Þ¥ó¥É¤ò¶¯À©½ªÎ»¤¹¤ë¡£
¤½¤Î´Ø¿ôÄêµÁ¤Ï¼Â¼ÁŪ¤Ë¤Ï(throw 'exit t)
¤Ç¤¢¤ë¡£
see Quitting¡£
¤³¤Î´Ø¿ô¤Ï¡¢¤¹¤Ù¤Æ¤ÎºÆµ¢ÊÔ½¸¤òÈ´¤±¤ë¡£ ¤¹¤Ù¤Æ¤Î·×»»¤òÈ´¤±½Ð¤Æ¥á¥¤¥ó¤Î¥³¥Þ¥ó¥É¥ë¡¼¥×¤ØÄ¾ÀÜÌá¤ë¤¿¤á¡¢ÃͤÏÊÖ¤µ¤Ê¤¤¡£
¤³¤Î´Ø¿ô¤ÏºÆµ¢ÊÔ½¸¤Î¸½ºß¤Î¿¼¤µ¤òÊÖ¤¹¡£ ³èÀ¤ÊºÆµ¢ÊÔ½¸¤¬¤Ê¤±¤ì¤Ð0¤òÊÖ¤¹¡£