Next: Standard Abbrev Tables, Previous: Abbrev Files, Up: Abbrevs [Contents][Index]
Ä̾ά¸ì¤Ï¡¢self-insert-command
¤ò´Þ¤àÆÃÄê¤ÎÂÐÏÃŪ¤Ê¥³¥Þ¥ó¥É¤Ë
¤è¤Ã¤ÆÅ¸³«¤µ¤ì¤Þ¤¹¡£
ËÜÀá¤Ç¤Ï¡¢¥Ç¡¼¥¿¤Î¤ä¤ê¤È¤ê¤Ë»È¤¦ÊÑ¿ô¤Ë²Ã¤¨¤Æ¡¢¤½¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò½ñ¤¯¤¿¤á¤Ë
»ÈÍѤ¹¤ë¥µ¥Ö¥ë¡¼¥Æ¥£¥ó¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤Þ¤¹¡£
¤³¤Î´Ø¿ô¤Ï¡¢Ì¾Á°abbrev¤Îά¸ì¤òɽ¤¹¥·¥ó¥Ü¥ë¤òÊÖ¤¹¡£
¤½¤Î¤è¤¦¤Êά¸ì¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢Ìá¤êÃͤÏnil
¤Ç¤¢¤ë¡£
¾Êά²Äǽ¤ÊÂè2°ú¿ôtable¤Ï¡¢Ãµº÷ÂоݤÎά¸ìɽ¤Ç¤¢¤ë¡£
table¤¬nil
¤Ç¤¢¤ë¤È¡¢
¤³¤Î´Ø¿ô¤Ï¡¢¤Þ¤º¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Î¥í¡¼¥«¥ë¤Êά¸ìɽ¤ò»î¤·¡¢
¤Ä¤®¤Ë¥°¥í¡¼¥Ð¥ë¤Êά¸ìɽ¤ò»î¤¹¡£
¤³¤Î´Ø¿ô¤Ï¡¢abbrev¤¬
¡Ê¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ç»ÈÍѤµ¤ì¤ëά¸ìɽ¤Ç¤ÎÄêµÁ¤É¤ª¤ê¤Ë¡Ë
Ÿ³«¤µ¤ì¤ë¤Ç¤¢¤í¤¦Ê¸»úÎó¤òÊÖ¤¹¡£
¾Êά²Äǽ¤Ê°ú¿ôtable¤Ï¡¢abbrev-symbol
¤ÈƱÍͤˡ¢
»ÈÍѤ¹¤ëά¸ìɽ¤ò»ØÄꤹ¤ë¡£
¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ý¥¤¥ó¥È¤Î¤Þ¤¨¤Îά¸ì¤ò¤¢¤ì¤ÐŸ³«¤¹¤ë¡£
ά¸ì¤Îľ¸å¤Ë¥Ý¥¤¥ó¥È¤¬¤Ê¤¤¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¤Ê¤Ë¤â¤·¤Ê¤¤¡£
¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢Å¸³«¤ò¹Ô¤¨¤Ðt
¤òÊÖ¤·¡¢
¤µ¤â¤Ê¤±¤ì¤Ðnil
¤òÊÖ¤¹¡£
¸½ºß¤Î¥Ý¥¤¥ó¥È°ÌÃÖ¤òά¸ì¤Î³«»Ï°ÌÃ֤Ȥ·¤Æ¥Þ¡¼¥¯¤¹¤ë¡£
¤Ä¤®¤Ëexpand-abbrev
¤ò¸Æ¤Ó½Ð¤¹¤È¡¢
Ä̾ï¤É¤ª¤ê¤Ë¥Ý¥¤¥ó¥È¤Î¤Þ¤¨¤Îñ¸ì¤ò»È¤¦¤«¤ï¤ê¤Ë¡¢
¤³¤³¤«¤é¡Ê¤½¤Î»þÅÀ¤Ç¤Î¡Ë¥Ý¥¤¥ó¥È¤Þ¤Ç¤Î¥Æ¥¥¹¥È¤òά¸ì¤È¤·¤ÆÅ¸³«¤¹¤ë¡£
¤³¤ì¤¬nil
°Ê³°¤Ç¤¢¤ë¤È¡¢
Âçʸ»ú¤À¤±¤ÇÆþÎϤµ¤ì¤¿Î¬¸ì¤òÂçʸ»ú¤À¤±¤ÇŸ³«¤¹¤ë¡£
¤µ¤â¤Ê¤±¤ì¤Ð¡¢Âçʸ»ú¤À¤±¤ÇÆþÎϤµ¤ì¤¿Î¬¸ì¤Ï¡¢
Ÿ³«·Á¤Î³ÆÃ±¸ì¤òÂçʸ»ú¤Ç»Ï¤á¤ë¤è¤¦¤ËŸ³«¤µ¤ì¤ë¡£
¤³¤ì¤Ï¡¢expand-abbrev
¤¬¤Ä¤®¤ËŸ³«¤¹¤ëά¸ì¤Î³«»Ï°ÌÃ֤Ȥ·¤Æ»È¤¦
¥Ð¥Ã¥Õ¥¡Æâ°ÌÃ֤Ǥ¢¤ë¡£
¡Ênil
¤Ç¤¢¤ë¤È¡¢¤½¤Î¤«¤ï¤ê¤Ë¥Ý¥¤¥ó¥È¤Î¤Þ¤¨¤Îñ¸ì¤ò»È¤¦°ÕÌ£¤Ç¤¢¤ë¡£¡Ë
expand-abbrev
¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤¿¤Ó¤Ë¡¢
abbrev-start-location
¤Ïnil
¤ËÀßÄꤵ¤ì¤ë¡£
¤³¤ÎÊÑ¿ô¤Ï¡¢abbrev-prefix-mark
¤Ç¤âÀßÄꤵ¤ì¤ë¡£
¤³¤ÎÊÑ¿ô¤ÎÃͤϡ¢abbrev-start-location
¤¬ÀßÄꤵ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤Ç¤¢¤ë¡£
Ê̤ΥХåե¡¤Çά¸ì¤òŸ³«¤·¤è¤¦¤È¤¹¤ë¤Èabbrev-start-location
¤Ï
¥¯¥ê¥¢¤µ¤ì¤ë¡£
¤³¤ÎÊÑ¿ô¤Ïabbrev-prefix-mark
¤¬ÀßÄꤹ¤ë¡£
¤³¤ì¤Ï¡¢¤â¤Ã¤È¤âºÇ¶á¤Ëά¸ìŸ³«¤µ¤ì¤¿abbrev-symbol
¡Êά¸ì¤òɽ¤¹¥·¥ó¥Ü¥ë¡Ë¤Ç¤¢¤ë¡£
¤³¤Î¾ðÊó¤Ï¡¢¥³¥Þ¥ó¥Éunexpand-abbrev
¸þ¤±¤Ë
expand-abbrev
¤¬»Ä¤¹
¡Êsee ά¸ìŸ³«¤ÎÀ©¸æ in GNU Emacs ¥Þ¥Ë¥å¥¢¥ë¡Ë
¡£
¤³¤ì¤Ï¡¢¤â¤Ã¤È¤âºÇ¶á¤Ëά¸ìŸ³«¤·¤¿²Õ½ê¤Ç¤¢¤ë¡£
¤³¤ì¤Ï¡¢¥³¥Þ¥ó¥Éunexpand-abbrev
¸þ¤±¤Ë
expand-abbrev
¤¬»Ä¤·¤¿¾ðÊó¤òÊÝ»ý¤¹¤ë¡£
¤³¤ì¤Ï¡¢¤â¤Ã¤È¤âºÇ¶á¤Ëά¸ìŸ³«¤·¤¿¤È¤¤Î¡Ê¤¢¤ì¤Ð¡ËÂçʸ»ú¾®Ê¸»úÊÑ´¹¸å¤Î
Ÿ³«·Á¤Î¥Æ¥¥¹¥È¤Ç¤¢¤ë¡£
ά¸ìŸ³«¤ò¼è¤ê¾Ã¤¹¤È¡¢¤³¤ÎÃͤÏnil
¤Ç¤¢¤ë¡£
¤³¤ì¤Ï¡¢¥³¥Þ¥ó¥Éunexpand-abbrev
¸þ¤±¤Ë
expand-abbrev
¤¬»Ä¤·¤¿¾ðÊó¤òÊÝ»ý¤¹¤ë¡£
¤³¤ì¤Ï¡¢Ç¤°Õ¤Îά¸ì¤òŸ³«¤¹¤ëľÁ°¤Ë½ç¤Ë¼Â¹Ô¤µ¤ì¤ë´Ø¿ô¤ò ¼ý¤á¤¿¥Î¡¼¥Þ¥ë¥Õ¥Ã¥¯¤Ç¤¢¤ë¡£ see Hooks¡£ ¥Î¡¼¥Þ¥ë¥Õ¥Ã¥¯¤Ê¤Î¤Ç¡¢¥Õ¥Ã¥¯´Ø¿ô¤Ï°ú¿ô¤ò¼õ¤±¼è¤é¤Ê¤¤¡£ ¤·¤«¤·¡¢¥Ð¥Ã¥Õ¥¡¤Ç¥Ý¥¤¥ó¥È¤Î¤Þ¤¨¤òÄ´¤Ù¤ë¤³¤È¤Ç Ÿ³«¤¹¤Ù¤Î¬¸ì¤ò¤ß¤Ä¤±¤ë¤³¤È¤¬¤Ç¤¤ë¡£
°Ê²¼¤Î¥³¡¼¥ÉÎã¤Ï¡¢pre-abbrev-expand-hook
¤Î»È¤¤Êý¤ò¼¨¤·¤Þ¤¹¡£
¥æ¡¼¥¶¡¼¤¬Î¬¸ì¤ò¶çÆÉÅÀʸ»ú¤Ç½ª¤¨¤ë¤È¡¢¥Õ¥Ã¥¯´Ø¿ô¤¬³Îǧ¤òµá¤á¤Þ¤¹¡£
¤·¤¿¤¬¤Ã¤Æ¡¢¤³¤Î¥Õ¥Ã¥¯¤Ë¤è¤ê¡¢¥æ¡¼¥¶¡¼¤ÏŸ³«¤Î²ÄÈݤò·èÄê¤Ç¤¡¢
λ¾µ¤·¤Ê¤«¤Ã¤¿¤È¤¤Ë¤ÏŸ³«¤ò»ß¤á¤é¤ì¤Þ¤¹¡£
(add-hook 'pre-abbrev-expand-hook 'query-if-not-space) ;; ¤³¤Î´Ø¿ô¤Ï¡¢pre-abbrev-expand-hook
¤¬µ¯Æ°¤¹¤ë ;; ¥æ¡¼¥¶¡¼¤¬Î¬¸ì¤ò¶õÇò¤Ç½ª¤¨¤ë¤È¡¢¤³¤Î´Ø¿ô¤Ï¤Ê¤Ë¤â¤·¤Ê¤¤ ;; ¡Ê¤Ä¤Þ¤ê¡¢Î¬¸ì¤òŸ³«¤Ç¤¤ë¤è¤¦¤ËÌá¤ë¡Ë ;; ¥æ¡¼¥¶¡¼¤¬¤½¤Î¾¤Îʸ»ú¤òÆþÎϤ·¤¿¤é¡¢ ;; ¤³¤Î´Ø¿ô¤ÏŸ³«¤¹¤ë¤«¤É¤¦¤«¤òÌ䤤¹ç¤ï¤»¤ë ;; ¥æ¡¼¥¶¡¼¤¬¥×¥í¥ó¥×¥È¤Ëy¤ÇÅú¤¨¤¿¤é¡¢ ;; ¡Ê´Ø¿ônot
¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¡Ë¤³¤Î´Ø¿ô¤Ïnil
¤òÊÖ¤¹¤¬ ;; ÌäÂê¤Ê¤¤¡£Ìá¤êÃͤÏŸ³«¤Ë¤Ï±Æ¶Á¤·¤Ê¤¤ (defun query-if-not-space () (if (/= ?\ (preceding-char)) (if (not (y-or-n-p "Do you want to expand this abbrev? ")) (error "Not expanding this abbrev"))))