Next: , Previous: Mode Line Format, Up: Modes   [Contents][Index]


22.4 i¥á¥Ë¥å¡¼

i¥á¥Ë¥å¡¼¡ÊImenu¡Ë¤È¤Ï¡¢¥æ¡¼¥¶¡¼¤¬ ¥Ð¥Ã¥Õ¥¡Æâ¤ÎÄêµÁ¤äÀá¤Î°ìÍ÷¤«¤é¤½¤Î1¤Ä¤òÁª¤Ö¤È ¥Ð¥Ã¥Õ¥¡Æâ¤ÎÅö³º²Õ½ê¤ØÄ¾Àܰܯ°¤Ç¤­¤ëµ¡Ç½¤Ç¤¹¡£ i¥á¥Ë¥å¡¼¤Ï¡¢ ¥Ð¥Ã¥Õ¥¡Æâ¤ÎÄêµÁ¤äÉôʬ¤Î̾Á°¤ä°ÌÃÖ¤òɽ¤¹¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò ¹½ÃÛ¤·¤Æ¤ª¤¯¤³¤È¤Çưºî¤·¡¢ Åö³º²Õ½ê¤Ø°Üư¤¹¤ë¤¿¤á¤Ë¥æ¡¼¥¶¡¼¤¬¤½¤ì¤é¤Î1¤Ä¤òÁª¤Ù¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ ËÜÀá¤Ç¤Ï¥á¥¸¥ã¡¼¥â¡¼¥É¤ËÂФ¹¤ëi¥á¥Ë¥å¡¼¤ò¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ëÊýË¡¤òÀâÌÀ¤·¤Þ¤¹¡£

ÉáÄ̤Τâ¤Ã¤È¤âñ½ã¤ÊÊýË¡¤Ï¡¢ ÊÑ¿ôimenu-generic-expression¤ËÀßÄꤹ¤ë¤³¤È¤Ç¤¹¡£

Variable: imenu-generic-expression

¤³¤ÎÊÑ¿ô¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢ i¥á¥Ë¥å¡¼¸þ¤±¤ÎÄêµÁ¤òõ¤¹¤¿¤á¤ÎÀµµ¬É½¸½¤ò»ØÄꤹ¤ë¡£ ¤â¤Ã¤È¤âñ½ã¤Ê¾ì¹ç¡¢Í×ÁǤϤĤ®¤Î¤è¤¦¤Ê·Á¤Ç¤¢¤ë¡£

(menu-title regexp subexp)

¤³¤³¤Ç¡¢menu-title¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢ ¤³¤ÎÍ×ÁǤ˰ìÃפ·¤¿¤â¤Î¤Ï¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥µ¥Ö¥á¥Ë¥å¡¼¤ËÃÖ¤¯¤³¤È¤ò °ÕÌ£¤¹¤ë¡£ menu-title¼«ÂΤϥµ¥Ö¥á¥Ë¥å¡¼¤Î̾Á°¤ò»ØÄꤹ¤ë¡£ menu-title¤¬nil¤Ç¤¢¤ë¤È¡¢ ¤³¤ÎÍ×ÁǤ˰ìÃפ·¤¿¤â¤Î¤Ï¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥á¥Ë¥å¡¼¤ËľÀÜÃÖ¤«¤ì¤ë¡£

¥ê¥¹¥È¤Î2ÈÖÌܤÎÍ×ÁÇregexp¤ÏÀµµ¬É½¸½ ¡Êsee Regular Expressions¡Ë¤Ç¤¢¤ê¡¢ ¤³¤ì¤Ë°ìÃפ·¤¿²Õ½ê¤¬¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë¸½¤ì¤ëÄêµÁ¤Ë¤Ê¤ë¡£ 3ÈÖÌܤÎÍ×ÁÇsubexp¤Ï¡¢ ÄêµÁ¤Î̾Á°¤Ë°ìÃפ¹¤ëregexp¤ÎÉôʬ¼°¤Ç¤¢¤ë¡£

Í×ÁǤϤĤ®¤Î·Á¤Ç¤â¤è¤¤¡£

(menu-title regexp index function arguments…)

¤³¤ÎÍ×ÁǤ˰ìÃפ¹¤ë¤â¤Î¤Ï¡¢¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÆÃÊ̤ʹàÌܤˤʤꡢ ¥æ¡¼¥¶¡¼¤¬Åö³º¹àÌܤòÁª¤Ö¤È¡¢ item-name¡¢¥Ð¥Ã¥Õ¥¡°ÌÃÖ¡¢arguments¤ò°ú¿ô¤È¤·¤Æ function¤ò¸Æ¤Ó½Ð¤¹¡£

emacs-lisp¥â¡¼¥É¸þ¤±¤Ë¤Ï¡¢pattern¤Ï¤Ä¤®¤Î¤è¤¦¤Ë¤Ê¤ë¡£

((nil "^\\s-*(def\\(un\\|subst\\|macro\\|advice\\)\
\\s-+\\([-A-Za-z0-9+]+\\)" 2)
 ("*Vars*" "^\\s-*(def\\(var\\|const\\)\
\\s-+\\([-A-Za-z0-9+]+\\)" 2)
 ("*Types*"
  "^\\s-*\
(def\\(type\\|struct\\|class\\|ine-condition\\)\
\\s-+\\([-A-Za-z0-9+]+\\)" 2))

¤³¤ÎÊÑ¿ô¤ËÀßÄꤹ¤ë¤È¡¢ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æ¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÊÑ¿ô¤Ë¤Ê¤ë¡£

Variable: imenu-case-fold-search

¤³¤ÎÊÑ¿ô¤Ï¡¢imenu-generic-expression¤È¤Î°ìÃפ˺ݤ·¤Æ Âçʸ»ú¾®Ê¸»ú¤ò¶èÊ̤¹¤ë¤«¤É¤¦¤«¤òÀ©¸æ¤¹¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ït¤Ç¤¢¤ê¡¢Âçʸ»ú¾®Ê¸»ú¤ò¶èÊ̤»¤º¤Ë°ìÃפò¤È¤ë¡£

¤³¤ÎÊÑ¿ô¤ËÀßÄꤹ¤ë¤È¡¢ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æ¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÊÑ¿ô¤Ë¤Ê¤ë¡£

Variable: imenu-syntax-alist

¤³¤ÎÊÑ¿ô¤Ï¡¢imenu-generic-expression¤ò½èÍýÃæ¤Ë ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Î¹½Ê¸¥Æ¡¼¥Ö¥ë¤ËÍ¥À褹¤ë ¹½Ê¸¥Æ¡¼¥Ö¥ë¤ÎÊѹ¹Éôʬ¤ÎÏ¢Áۥꥹ¥È¤Ç¤¢¤ë¡£ ³ÆÍ×ÁǤϤĤ®¤Î·Á¤Ç¤¢¤ë¤³¤È¡£

(characters . syntax-description)

CAR¤Îcharacters¤Ï¡¢Ê¸»ú¤«Ê¸»úÎó¤Ç¤¢¤ë¡£ ¤½¤ì¤é¤Îʸ»ú¤Ï¡¢»ØÄꤷ¤¿¹½Ê¸syntax-description¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ ¤³¤ì¤Ïmodify-syntax-entry¡Êsee Syntax Table Functions¡Ë¤Ë ÅϤµ¤ì¤ë¡£

¤³¤Îµ¡Ç½¤Ïŵ·¿Åª¤Ë¤Ï¡¢ Ä̾ï¤Î¥·¥ó¥Ü¥ë¹½À®Ê¸»ú¤òñ¸ì¹½À®Ê¸»ú¤È¤·¤Æ°·¤¤¡¢ imenu-generic-expression¤òñ½ã²½¤·°ìÃ×½èÍý¤ò®¤¯¤¹¤ë¡£ ¤¿¤È¤¨¤Ð¡¢fortran¥â¡¼¥É¤Ç¤Ï¤Ä¤®¤Î¤è¤¦¤Ë»È¤Ã¤Æ¤¤¤ë¡£

  (setq imenu-syntax-alist '(("_$" . "w")))

¤³¤¦¤¹¤ë¤È¡¢imenu-generic-expression¤Î¥Ñ¥¿¡¼¥ó¤Ç¤Ï¡¢ ‘\\(\\sw\\|\\s_\\)+’¤Î¤«¤ï¤ê¤Ë‘\\sw+’¤ò»È¤¨¤ë¡£ ¤³¤Îµ»Ë¡¤Ï¡¢Ì¾Á°¤ÎÀèÆ¬Ê¸»ú¤Î½¸¹ç¤ò̾Á°¤Î»Ä¤ê¤Îʸ»ú¤Î½¸¹ç¤è¤ê¤â ¾®¤µ¤¯À©¸Â¤¹¤ëɬÍפ¬¤¢¤ë¥â¡¼¥É¤Ç»È¤¦¤Ë¤ÏÉÔÊØ¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤Û¤·¤¤¡£

¤³¤ÎÊÑ¿ô¤ËÀßÄꤹ¤ë¤È¡¢ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æ¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÊÑ¿ô¤Ë¤Ê¤ë¡£

¥á¥¸¥ã¡¼¥â¡¼¥É¤Îi¥á¥Ë¥å¡¼¤ò¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ëÊ̤ÎÊýË¡¤Ï¡¢ ÊÑ¿ôimenu-prev-index-position-function¤ä imenu-extract-index-name-function¤ËÀßÄꤹ¤ë¤³¤È¤Ç¤¹¡£

Variable: imenu-prev-index-position-function

¤³¤ÎÊÑ¿ô¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢¤½¤ÎÃͤϡ¢ ¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤ËÃÖ¤¯¤Ä¤®¤ÎÄêµÁ¤ò ¥Õ¥¡¥¤¥ë¤Ç¸å¸þ¤­¤Ëõ¤¹¤¿¤á¤Î´Ø¿ô¤Ç¤¢¤ë¤³¤È¡£

¤½¤Î´Ø¿ô¤Ï¡¢¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¹àÌܤËÂбþ¤¹¤ë²Õ½ê¤Ë¥Ý¥¤¥ó¥È¤òÃÖ¤¯¤³¤È¡£ ¹àÌܤ¬¤ß¤Ä¤«¤é¤Ê¤±¤ì¤Ðnil¤òÊÖ¤¹¤³¤È¡£

¤³¤ÎÊÑ¿ô¤ËÀßÄꤹ¤ë¤È¡¢ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æ¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÊÑ¿ô¤Ë¤Ê¤ë¡£

Variable: imenu-extract-index-name-function

¤³¤Î´Ø¿ô¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢¤½¤ÎÃͤϡ¢ ¥Ý¥¤¥ó¥È¤¬ÊÑ¿ôimenu-prev-index-position-function¤¬ÊÖ¤·¤¿ ÄêµÁ¤ÎÉôʬ¤Ë¤¢¤ë¤È²¾Äꤷ¤Æ¡¢Åö³ºÄêµÁ¤Î̾Á°¤òÊÖ¤¹´Ø¿ô¤Ç¤¢¤ë¤³¤È¡£

¤³¤ÎÊÑ¿ô¤ËÀßÄꤹ¤ë¤È¡¢ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æ¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÊÑ¿ô¤Ë¤Ê¤ë¡£

¥á¥¸¥ã¡¼¥â¡¼¥É¤Îi¥á¥Ë¥å¡¼¤ò¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ëºÇ¸å¤ÎÊýË¡¤Ï¡¢ ÊÑ¿ôimenu-create-index-function¤ËÀßÄꤹ¤ë¤³¤È¤Ç¤¹¡£

Variable: imenu-create-index-function

¤³¤Î´Ø¿ô¤Ï¡¢¥Ð¥Ã¥Õ¥¡¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎºîÀ®¤Ë»È¤¦´Ø¿ô¤ò»ØÄꤹ¤ë¡£ ¤½¤Î´Ø¿ô¤Ï°ú¿ô¤Ê¤·¤Ç¡¢¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤ËÂФ¹¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÊÖ¤¹¤³¤È¡£ save-excursion¤ÎÆâ¦¤«¤é¸Æ¤Ð¤ì¤ë¤Î¤Ç¡¢ ¤½¤Î´Ø¿ô¤¬¥Ý¥¤¥ó¥È¤ò¤É¤³¤ËÃÖ¤³¤¦¤È´Ø·¸¤Ê¤¤¡£

¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÏ¢Áۥꥹ¥È¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë imenu-generic-expression¤ò»È¤¦´Ø¿ô¤Ç¤¢¤ë¡£ ÆÉ¼Ô¤¬Ê̤δؿô¤ò»ØÄꤹ¤ì¤Ð¡¢imenu-generic-expression¤Ï»È¤ï¤ì¤Ê¤¤¡£

¤³¤ÎÊÑ¿ô¤ËÀßÄꤹ¤ë¤È¡¢ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æ¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÊÑ¿ô¤Ë¤Ê¤ë¡£

Variable: imenu-index-alist

¤³¤ÎÊÑ¿ô¤Ï¡¢¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤ËÂФ¹¤ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÏ¢Áۥꥹ¥È¤òÊÝ»ý¤¹¤ë¡£ ¤³¤ÎÊÑ¿ô¤ËÀßÄꤹ¤ë¤È¡¢ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æ¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÊÑ¿ô¤Ë¤Ê¤ë¡£

Ï¢Áۥꥹ¥È¤Îñ½ã¤ÊÍ×ÁǤÏ(index-name . index-position) ¤Î¤è¤¦¤Ê·Á¤Ç¤¢¤ë¡£ ¤³¤Î¤è¤¦¤Êñ½ã¤ÊÍ×ÁǤòÁª¤Ö¤È¡¢ ¥Ð¥Ã¥Õ¥¡Æâ¤Çindex-position¤Ø°Üư¤¹¤ë¸ú²Ì¤¬¤¢¤ë¡£

ÆÃÊ̤ÊÍ×ÁǤÏ(index-name position function arguments…)¤Î¤è¤¦¤Ê·Á¤Ç¤¢¤ë¡£ ¤³¤Î¤è¤¦¤ÊÆÃÊ̤ÊÍ×ÁǤòÁª¤Ö¤È¡¢ ¤Ä¤®¤Î¤è¤¦¤Ê¥Õ¥©¡¼¥à¤ò¼Â¹Ô¤¹¤ë¡£

(funcall function index-name position arguments…)

Æþ¤ì»Ò¤Ë¤Ê¤Ã¤¿ÉôʬϢÁۥꥹ¥È¤ÎÍ×ÁÇ¤Ï (index-name sub-alist)¤Î¤è¤¦¤Ê·Á¤Ç¤¢¤ë¡£