Next: , Previous: Abbrev Files, Up: Abbrevs   [Contents][Index]


35.5 ά¸ì¤Îõº÷¤ÈŸ³«

Ä̾ά¸ì¤Ï¡¢self-insert-command¤ò´Þ¤àÆÃÄê¤ÎÂÐÏÃŪ¤Ê¥³¥Þ¥ó¥É¤Ë ¤è¤Ã¤ÆÅ¸³«¤µ¤ì¤Þ¤¹¡£ ËÜÀá¤Ç¤Ï¡¢¥Ç¡¼¥¿¤Î¤ä¤ê¤È¤ê¤Ë»È¤¦ÊÑ¿ô¤Ë²Ã¤¨¤Æ¡¢¤½¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò½ñ¤¯¤¿¤á¤Ë »ÈÍѤ¹¤ë¥µ¥Ö¥ë¡¼¥Æ¥£¥ó¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤Þ¤¹¡£

Function: abbrev-symbol abbrev &optional table

¤³¤Î´Ø¿ô¤Ï¡¢Ì¾Á°abbrev¤Îά¸ì¤òɽ¤¹¥·¥ó¥Ü¥ë¤òÊÖ¤¹¡£ ¤½¤Î¤è¤¦¤Êά¸ì¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢Ìá¤êÃͤÏnil¤Ç¤¢¤ë¡£ ¾Êά²Äǽ¤ÊÂè2°ú¿ôtable¤Ï¡¢Ãµº÷ÂоݤÎά¸ìɽ¤Ç¤¢¤ë¡£ table¤¬nil¤Ç¤¢¤ë¤È¡¢ ¤³¤Î´Ø¿ô¤Ï¡¢¤Þ¤º¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Î¥í¡¼¥«¥ë¤Êά¸ìɽ¤ò»î¤·¡¢ ¤Ä¤®¤Ë¥°¥í¡¼¥Ð¥ë¤Êά¸ìɽ¤ò»î¤¹¡£

Function: abbrev-expansion abbrev &optional table

¤³¤Î´Ø¿ô¤Ï¡¢abbrev¤¬ ¡Ê¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ç»ÈÍѤµ¤ì¤ëά¸ìɽ¤Ç¤ÎÄêµÁ¤É¤ª¤ê¤Ë¡Ë Ÿ³«¤µ¤ì¤ë¤Ç¤¢¤í¤¦Ê¸»úÎó¤òÊÖ¤¹¡£ ¾Êά²Äǽ¤Ê°ú¿ôtable¤Ï¡¢abbrev-symbol¤ÈƱÍͤˡ¢ »ÈÍѤ¹¤ëά¸ìɽ¤ò»ØÄꤹ¤ë¡£

¥³¥Þ¥ó¥É: expand-abbrev

¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ý¥¤¥ó¥È¤Î¤Þ¤¨¤Îά¸ì¤ò¤¢¤ì¤ÐŸ³«¤¹¤ë¡£ ά¸ì¤Îľ¸å¤Ë¥Ý¥¤¥ó¥È¤¬¤Ê¤¤¾ì¹ç¡¢¤³¤Î¥³¥Þ¥ó¥É¤Ï¤Ê¤Ë¤â¤·¤Ê¤¤¡£ ¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢Å¸³«¤ò¹Ô¤¨¤Ðt¤òÊÖ¤·¡¢ ¤µ¤â¤Ê¤±¤ì¤Ðnil¤òÊÖ¤¹¡£

¥³¥Þ¥ó¥É: abbrev-prefix-mark &optional arg

¸½ºß¤Î¥Ý¥¤¥ó¥È°ÌÃÖ¤òά¸ì¤Î³«»Ï°ÌÃ֤Ȥ·¤Æ¥Þ¡¼¥¯¤¹¤ë¡£ ¤Ä¤®¤Ëexpand-abbrev¤ò¸Æ¤Ó½Ð¤¹¤È¡¢ Ä̾ï¤É¤ª¤ê¤Ë¥Ý¥¤¥ó¥È¤Î¤Þ¤¨¤Îñ¸ì¤ò»È¤¦¤«¤ï¤ê¤Ë¡¢ ¤³¤³¤«¤é¡Ê¤½¤Î»þÅÀ¤Ç¤Î¡Ë¥Ý¥¤¥ó¥È¤Þ¤Ç¤Î¥Æ¥­¥¹¥È¤òά¸ì¤È¤·¤ÆÅ¸³«¤¹¤ë¡£

User Option: abbrev-all-caps

¤³¤ì¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢ Âçʸ»ú¤À¤±¤ÇÆþÎϤµ¤ì¤¿Î¬¸ì¤òÂçʸ»ú¤À¤±¤ÇŸ³«¤¹¤ë¡£ ¤µ¤â¤Ê¤±¤ì¤Ð¡¢Âçʸ»ú¤À¤±¤ÇÆþÎϤµ¤ì¤¿Î¬¸ì¤Ï¡¢ Ÿ³«·Á¤Î³ÆÃ±¸ì¤òÂçʸ»ú¤Ç»Ï¤á¤ë¤è¤¦¤ËŸ³«¤µ¤ì¤ë¡£

Variable: abbrev-start-location

¤³¤ì¤Ï¡¢expand-abbrev¤¬¤Ä¤®¤ËŸ³«¤¹¤ëά¸ì¤Î³«»Ï°ÌÃ֤Ȥ·¤Æ»È¤¦ ¥Ð¥Ã¥Õ¥¡Æâ°ÌÃ֤Ǥ¢¤ë¡£ ¡Ênil¤Ç¤¢¤ë¤È¡¢¤½¤Î¤«¤ï¤ê¤Ë¥Ý¥¤¥ó¥È¤Î¤Þ¤¨¤Îñ¸ì¤ò»È¤¦°ÕÌ£¤Ç¤¢¤ë¡£¡Ë expand-abbrev¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤¿¤Ó¤Ë¡¢ abbrev-start-location¤Ïnil¤ËÀßÄꤵ¤ì¤ë¡£ ¤³¤ÎÊÑ¿ô¤Ï¡¢abbrev-prefix-mark¤Ç¤âÀßÄꤵ¤ì¤ë¡£

Variable: abbrev-start-location-buffer

¤³¤ÎÊÑ¿ô¤ÎÃͤϡ¢abbrev-start-location¤¬ÀßÄꤵ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤Ç¤¢¤ë¡£ Ê̤ΥХåե¡¤Çά¸ì¤òŸ³«¤·¤è¤¦¤È¤¹¤ë¤Èabbrev-start-location¤Ï ¥¯¥ê¥¢¤µ¤ì¤ë¡£ ¤³¤ÎÊÑ¿ô¤Ïabbrev-prefix-mark¤¬ÀßÄꤹ¤ë¡£

Variable: last-abbrev

¤³¤ì¤Ï¡¢¤â¤Ã¤È¤âºÇ¶á¤Ëά¸ìŸ³«¤µ¤ì¤¿abbrev-symbol ¡Êά¸ì¤òɽ¤¹¥·¥ó¥Ü¥ë¡Ë¤Ç¤¢¤ë¡£ ¤³¤Î¾ðÊó¤Ï¡¢¥³¥Þ¥ó¥Éunexpand-abbrev¸þ¤±¤Ë expand-abbrev¤¬»Ä¤¹ ¡Êsee ά¸ìŸ³«¤ÎÀ©¸æ in GNU Emacs ¥Þ¥Ë¥å¥¢¥ë¡Ë ¡£

Variable: last-abbrev-location

¤³¤ì¤Ï¡¢¤â¤Ã¤È¤âºÇ¶á¤Ëά¸ìŸ³«¤·¤¿²Õ½ê¤Ç¤¢¤ë¡£ ¤³¤ì¤Ï¡¢¥³¥Þ¥ó¥Éunexpand-abbrev¸þ¤±¤Ë expand-abbrev¤¬»Ä¤·¤¿¾ðÊó¤òÊÝ»ý¤¹¤ë¡£

Variable: last-abbrev-text

¤³¤ì¤Ï¡¢¤â¤Ã¤È¤âºÇ¶á¤Ëά¸ìŸ³«¤·¤¿¤È¤­¤Î¡Ê¤¢¤ì¤Ð¡ËÂçʸ»ú¾®Ê¸»úÊÑ´¹¸å¤Î Ÿ³«·Á¤Î¥Æ¥­¥¹¥È¤Ç¤¢¤ë¡£ ά¸ìŸ³«¤ò¼è¤ê¾Ã¤¹¤È¡¢¤³¤ÎÃͤÏnil¤Ç¤¢¤ë¡£ ¤³¤ì¤Ï¡¢¥³¥Þ¥ó¥Éunexpand-abbrev¸þ¤±¤Ë expand-abbrev¤¬»Ä¤·¤¿¾ðÊó¤òÊÝ»ý¤¹¤ë¡£

Variable: pre-abbrev-expand-hook

¤³¤ì¤Ï¡¢Ç¤°Õ¤Îά¸ì¤òŸ³«¤¹¤ëľÁ°¤Ë½ç¤Ë¼Â¹Ô¤µ¤ì¤ë´Ø¿ô¤ò ¼ý¤á¤¿¥Î¡¼¥Þ¥ë¥Õ¥Ã¥¯¤Ç¤¢¤ë¡£ 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"))))