Next: Input Events, Previous: Interactive Call, Up: Command Loop [Contents][Index]
¥¨¥Ç¥£¥¿¥³¥Þ¥ó¥É¥ë¡¼¥×¤Ï¡¢¼«¿È¤ä¼Â¹ÔÃæ¤Î¥³¥Þ¥ó¥É¤Î¤¿¤á¤Ë ¾õÂֵϿ¤ò¿ô¸Ä¤ÎLispÊÑ¿ô¤ËÀßÄꤷ¤Þ¤¹¡£
¤³¤ÎÊÑ¿ô¤Ï¡¢¥³¥Þ¥ó¥É¥ë¡¼¥×¤¬¡Ê¸½ºß¤Î¥³¥Þ¥ó¥É¤Î¡Ë¤Þ¤¨¤Ë¼Â¹Ô¤·¤¿¥³¥Þ¥ó¥É¤Î ̾Á°¤òµÏ¿¤¹¤ë¡£ Ä̾¤³¤ÎÃͤϴؿôÄêµÁ¤ò»ý¤Ä¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¤¬¡¢ÊݾڤϤ·¤Ê¤¤¡£
¥³¥Þ¥ó¥É¤¬¸å³¤Î¥³¥Þ¥ó¥É¤ËÂФ¹¤ëÁ°ÃÖ°ú¿ô¤ò»ØÄꤹ¤ë¾ì¹ç¤ò½ü¤¤¤Æ¡¢
¥³¥Þ¥ó¥É¤«¤é¥³¥Þ¥ó¥É¥ë¡¼¥×¤ØÌá¤ë¤Èthis-command
¤«¤éÃͤò¥³¥Ô¡¼¤¹¤ë¡£
¤³¤ÎÊÑ¿ô¤Ï¸½ºß¤ÎüËö¤ËÂФ·¤Æ¤Ä¤Í¤Ë¥í¡¼¥«¥ë¤Ç¤¢¤ê¡¢ ¥Ð¥Ã¥Õ¥¡¤ËÂФ·¤Æ¥í¡¼¥«¥ë¤Ë¤Ï¤Ê¤é¤Ê¤¤¡£ see Multiple Displays¡£
last-command
¤ÈƱÍͤËEmacs¤¬¤³¤ÎÊÑ¿ô¤ËÀßÄꤹ¤ë¤¬¡¢
Lisp¥×¥í¥°¥é¥à¤Ç¤Ï¤±¤Ã¤·¤ÆÊѹ¹¤·¤Ê¤¤¡£
¤³¤ÎÊÑ¿ô¤Ï¡¢¥¨¥Ç¥£¥¿¥³¥Þ¥ó¥É¥ë¡¼¥×¤¬
¤¤¤Þ¼Â¹Ô¤·¤Æ¤¤¤ë¥³¥Þ¥ó¥É¤Î̾Á°¤òµÏ¿¤¹¤ë¡£
last-command
¤ÈƱÍͤˡ¢Ä̾ï¤Ï´Ø¿ôÄêµÁ¤ò»ý¤Ä¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¡£
¥³¥Þ¥ó¥É¥ë¡¼¥×¤Ï¡¢¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëľÁ°¤Ë¤³¤ÎÊÑ¿ô¤ËÀßÄꤷ¡¢
¥³¥Þ¥ó¥É¤¬½ªÎ»¤¹¤ë¤È¡Ê¥³¥Þ¥ó¥É¤¬¸å³¤Î¥³¥Þ¥ó¥É¤ËÂФ¹¤ë
Á°ÃÖ°ú¿ô¤ò»ØÄꤹ¤ë¾ì¹ç¤ò½ü¤¤¤Æ¡Ë
¤³¤ÎÃͤòlast-command
¤Ë¥³¥Ô¡¼¤¹¤ë¡£
¸å³¤Î¥³¥Þ¥ó¥É¤ËÂФ¹¤ë¥Õ¥é¥°¤È¤·¤Æ
¼Â¹ÔÃæ¤Ë¤³¤ÎÊÑ¿ô¤ËÀßÄꤹ¤ë¥³¥Þ¥ó¥É¤â¤¢¤ë¡£
ÆÃ¤Ë¡¢¥Æ¥¥¹¥È¤ò¥¥ë¤¹¤ë´Ø¿ô·²¤Ïthis-command
¤Ëkill-region
¤ò
ÀßÄꤷ¤Æ¡¢Ä¾¸å¤Ë³¤¯¥¥ë¥³¥Þ¥ó¥É¤Ç¤Ï
¥¥ë¤·¤¿¥Æ¥¥¹¥È¤ò¤Þ¤¨¤Î¥¥ë¤ËÄɲ乤ë¤è¤¦¤Ë¤¹¤ë¡£
ÆÃÄê¤Î¥³¥Þ¥ó¥É¤¬¥¨¥é¡¼¤òµ¯¤³¤·¤¿¾ì¹ç¤Ë
ľÁ°¤Î¥³¥Þ¥ó¥É¤È¤Ïǧ¼±¤µ¤ì¤¿¤¯¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
ÆÉ¼Ô¤Ï¤½¤Î¥³¥Þ¥ó¥É¤¬¤½¤ì¤òËɤ°¤è¤¦¤Ë½ñ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
1¤Ä¤ÎÊýË¡¤Ï¡¢°Ê²¼¤Ë¼¨¤¹¤è¤¦¤Ë¡¢
¥³¥Þ¥ó¥É¤Î»Ï¤á¤Çthis-command
¤Ët
¤òÀßÄꤷ¡¢
¥³¥Þ¥ó¥É¤Î½ª¤ê¤Çthis-command
¤ËÀµ¤·¤¤ÃͤòÌᤷ¤Þ¤¹¡£
(defun foo (args…)
(interactive …)
(let ((old-this-command this-command))
(setq this-command t)
…do the work…
(setq this-command old-this-command)))
let
¤Çthis-command
¤ò«Çû¤·¤Þ¤»¤ó¡£
¤È¤¤¤¦¤Î¤Ï¡¢¥¨¥é¡¼¤¬¤¢¤ë¤Èlet
¤Ï¸Å¤¤ÃͤòÉü¸µ¤¹¤ë¤«¤é¤Ç¤¹¡£
¤³¤ì¤³¤½¤¬¤³¤³¤Ç¤ÏÈò¤±¤¿¤¤let
¤Îµ¡Ç½¤Ç¤¹¡£
¤³¤Î´Ø¿ô¤Ï¡¢¸½ºß¤Î¥³¥Þ¥ó¥É¤ËÂФ·¤ÆÄ¾Á°¤Î¥³¥Þ¥ó¥É¤¬À¸À®¤·¤¿Á°ÃÖ°ú¿ô¤ò´Þ¤á¤Æ¡¢ ¸½ºß¤Î¥³¥Þ¥ó¥É¤òµ¯Æ°¤·¤¿¥¡¼Îó¤ò´Þ¤ó¤Àʸ»úÎ󤫥٥¯¥È¥ë¤òÊÖ¤¹¡£ ¤¹¤Ù¤Æ¤Î¥¤¥Ù¥ó¥È¤¬Ê¸»ú¤Ç¤¢¤ì¤Ð¡¢ÃͤÏʸ»úÎó¤Ç¤¢¤ë¡£ see Input Events¡£
(this-command-keys)
;; C-u C-x C-e¤ò»È¤Ã¤Æ¤³¤Î¼°¤òɾ²Á¤¹¤ë
⇒ "^U^X^E"
this-command-keys
¤ÈƱÍͤÀ¤¬¡¢¤Ä¤Í¤Ë¥Ù¥¯¥È¥ë¤Ç¥¤¥Ù¥ó¥È¤òÊÖ¤¹¤¿¤á¡¢
ʸ»úÎó¤ËÆþÎÏ¥¤¥Ù¥ó¥È¤òÊÝ»ý¤¹¤ëºÝ¤ÎÊ£»¨¤µ¤ò°·¤¦É¬Íפ¬¤Ê¤¤
¡Êsee Strings of Events¡Ë¡£
¤³¤ÎÊÑ¿ô¤Ï¡¢¥Þ¥¦¥¹¥á¥Ë¥å¡¼¤Ë¤è¤ë¥¤¥Ù¥ó¥È¤ò¹Í褻¤º¤Ë¡¢ ¥¡¼Îó¤È¤·¤ÆÆÉ¤ó¤ÀºÇ¸å¤ÎÆþÎÏ¥¤¥Ù¥ó¥È¤òÊÝ»ý¤¹¤ë¡£
¤³¤ÎÊÑ¿ô¤Î1¤Ä¤ÎÍÑÅӤϡ¢
¥á¥Ë¥å¡¼¤ò¥Ý¥Ã¥×¥¢¥Ã¥×¤¹¤ë°ÌÃÖ¤òx-popup-menu
¤Ë»Ø¼¨¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£
y-or-n-p
¡Êsee Yes-or-No Queries¡Ë¤âÆâÉôŪ¤Ë»È¤Ã¤Æ¤¤¤ë¡£
¤³¤ÎÊÑ¿ô¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¤Î°ìÉô¤È¤·¤Æ¥³¥Þ¥ó¥É¥ë¡¼¥×¤¬
ÆÉ¤ó¤ÀºÇ¸å¤ÎÆþÎÏ¥¤¥Ù¥ó¥È¤¬ÀßÄꤵ¤ì¤ë¡£
¤³¤ÎÊÑ¿ô¤Î¼ç¤ÊÍÑÅӤϡ¢¤É¤Îʸ»ú¤òÁÞÆþ¤¹¤Ù¤¤«¤ò·èÄꤹ¤ë¤¿¤á¤Ë
self-insert-command
¤¬»È¤¦¤³¤È¤Ç¤¢¤ë¡£
last-command-event
;; C-u C-x C-e¤ò»È¤Ã¤Æ¤³¤Î¼°¤òɾ²Á¤¹¤ë
⇒ 5
C-e¤ÎASCII¥³¡¼¥É¤Ï5¤Ê¤Î¤Ç¡¢ÃͤÏ5¤Ç¤¢¤ë¡£
Emacs 18ÈǤȤθߴ¹À¤Î¤¿¤á¤ËÊÌ̾last-command-char
¤¬¤¢¤ë¡£
¤³¤ÎÊÑ¿ô¤Ï¡¢ºÇ¸å¤ÎÆþÎÏ¥¤¥Ù¥ó¥È¤ò¿¶¤ê¸þ¤±¤¿¥Õ¥ì¡¼¥à¤òµÏ¿¤¹¤ë¡£ Ä̾盧¤ì¤Ï¡¢¥¤¥Ù¥ó¥È¤¬À¸À®¤µ¤ì¤¿¤È¤¤ËÁªÂò¤µ¤ì¤Æ¤¤¤¿¥Õ¥ì¡¼¥à¤Ç¤¢¤ë¤¬¡¢ ¤½¤Î¥Õ¥ì¡¼¥à¤¬ÆþÎÏ¥Õ¥©¡¼¥«¥¹¤òÊ̤Υե졼¥à¤Ë¿¶¤ê¸þ¤±¤Æ¤¤¤ë¤È¡¢ ¤³¤ÎÃͤϥ¤¥Ù¥ó¥È¤ò¿¶¤ê¸þ¤±¤¿Àè¤Î¥Õ¥ì¡¼¥à¤Ç¤¢¤ë¡£ see Input Focus¡£