Next: Support Modes, Previous: Faces, Up: Frames [Contents][Index]
¥Õ¥©¥ó¥È¥í¥Ã¥¯¡Êfont-lock¡Ë¥â¡¼¥É¤Ï¥Þ¥¤¥Ê¥â¡¼¥É¤Ç¤¹¡£ ÆÃÄê¤Î¥Ð¥Ã¥Õ¥¡¤Ë¤Ä¤Í¤Ë¥í¡¼¥«¥ë¤Ç¤¢¤ê¡¢ ÊÔ½¸¤·¤Æ¤¤¤ë¥Æ¥¥¹¥È¤Î¹½Ê¸¤Ë½¾¤Ã¤Æ¤µ¤Þ¤¶¤Þ¤Ê¥Õ¥§¥¤¥¹¤ò »È¤Ã¤Æ¶¯Ä´É½¼¨¡Ê¤Þ¤¿¤Ï¡Ø¥Õ¥©¥ó¥Èɽ¼¨²½¡Ù¡Ë¤·¤Þ¤¹¡£ ¤³¤Î¥â¡¼¥É¤Ï¡¢¤Û¤È¤ó¤É¤Î¸À¸ì¤Î¥³¥á¥ó¥È¤äʸ»úÎó¤òǧ¼±¤Ç¤¤Þ¤¹¡£ ¤¤¤¯¤Ä¤«¤Î¸À¸ì¤Ç¤Ï¡¢Â¾¤Î¤µ¤Þ¤¶¤Þ¤Ê½ÅÍפʹ½À®Í×ÁǤâǧ¼±¤·¡¢ Àµ¤·¤¯¶¯Ä´É½¼¨¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢ÄêµÁ¤µ¤ì¤Æ¤¤¤ë´Ø¿ô̾¤äͽÌó¸ì¤Ç¤¹¡£
¥³¥Þ¥ó¥ÉM-x font-lock-mode¤Ï¡¢
°ú¿ô¤Ë½¾¤Ã¤Æ¥Õ¥©¥ó¥È¥í¥Ã¥¯¡Êfont-lock¡Ë¥â¡¼¥É¤ò¥ª¥ó¡¿¥ª¥Õ¤·¡¢
°ú¿ô¤¬¤Ê¤±¤ì¤Ð¥â¡¼¥É¤ò¥È¥°¥ë¤·¤Þ¤¹¡£
´Ø¿ôturn-on-font-lock
¤Ï¡¢
¥Õ¥©¥ó¥È¥í¥Ã¥¯¡Êfont-lock¡Ë¥â¡¼¥É¤ò̵¾ò·ï¤Ç¥ª¥ó¤Ë¤·¤Þ¤¹¡£
¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥â¡¼¥É¥Õ¥Ã¥¯´Ø¿ô¤Ç»È¤¦¤ÈÊØÍø¤Ç¤¹¡£
¤¿¤È¤¨¤Ð¡¢C¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Æ¤¤¤ë¤È¤¤Ë¤Ï¤¤¤Ä¤Ç¤â
¥Õ¥©¥ó¥È¥í¥Ã¥¯¡Êfont-lock¡Ë¥â¡¼¥É¤ò¥ª¥ó¤Ë¤¹¤ë¤Ë¤Ï¡¢
¤Ä¤®¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
(add-hook 'c-mode-hook 'turn-on-font-lock)
¥Õ¥©¥ó¥È¥í¥Ã¥¯¡Êfont-lock¡Ë¥â¡¼¥É¤ò°·¤¨¤ë
¤¹¤Ù¤Æ¤Î¡Ê¥á¥¸¥ã¡¼¡Ë¥â¡¼¥É¤Ç¼«Æ°Åª¤Ë¥Õ¥©¥ó¥È¥í¥Ã¥¯¡Êfont-lock¡Ë¥â¡¼¥É¤ò
¥ª¥ó¤Ë¤¹¤ë¤Ë¤Ï¡¢
´Ø¿ôglobal-font-lock-mode
¤ò¤Ä¤®¤Î¤è¤¦¤Ë»È¤¤¤Þ¤¹¡£
(global-font-lock-mode 1)
¥Õ¥©¥ó¥È¥í¥Ã¥¯¡Êfont-lock¡Ë¥â¡¼¥É¤Ç¤Ï¡¢
¥Æ¥¥¹¥È¤òÊÔ½¸¤·¤Æ¤¤¤ë¤È¡¢¼«Æ°Åª¤ËÊѹ¹¤·¤¿¹Ô¤Î¶¯Ä´É½¼¨¤ò¹¹¿·¤·¤Þ¤¹¡£
¤Û¤È¤ó¤É¤ÎÊѹ¹¤Ï¡¢¸å³¹Ô¤Î¶¯Ä´É½¼¨¤Ë¤Ï±Æ¶Á¤·¤Þ¤»¤ó¤¬¡¢
»þÀÞ¡¢±Æ¶Á¤¹¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
¤¢¤ëÈϰϤιԤò¶¯Ä´É½¼¨¤·Ä¾¤¹¤Ë¤Ï¡¢¥³¥Þ¥ó¥ÉM-g M-g¤ò»È¤¤¤Þ¤¹
¡Êfont-lock-fontify-block
¡Ë¡£
¤¢¤ë¼ï¤Î¥á¥¸¥ã¡¼¥â¡¼¥É¤Ç¤Ï¡¢M-g M-g¤Ï¡¢
¸½ºß¤Î´Ø¿ôÄêµÁÁ´ÂΤò¥Õ¥©¥ó¥Èɽ¼¨²½¤·Ä¾¤·¤Þ¤¹¡£
¡ÊÊÑ¿ôfont-lock-mark-block-function
¤Ï¡¢
¸½ºß¤Î´Ø¿ôÄêµÁ¤Îõ¤·Êý¤òÀ©¸æ¤¹¤ë¡£¡Ë
Ê̤Υ᥸¥ã¡¼¥â¡¼¥É¤Ç¤Ï¡¢ M-g M-g¤Ï¡¢
¥Ý¥¤¥ó¥È¤Î¤Þ¤¨¤È¤¢¤È¤Î16¹Ô¤ò¥Õ¥©¥ó¥Èɽ¼¨²½¤·Ä¾¤·¤Þ¤¹¡£
¿ô°ú¿ôn¤ò»ØÄꤹ¤ë¤È¡¢M-g M-g¤Ï¡¢ ¥â¡¼¥É¤Ë´Ø·¸¤Ê¤¯¡¢ ¥Ý¥¤¥ó¥È¤Î¤Þ¤¨¤È¤¢¤È¤În¹Ô¤ò¥Õ¥©¥ó¥Èɽ¼¨²½¤·Ä¾¤·¤Þ¤¹¡£
¥Õ¥©¥ó¥È¥í¥Ã¥¯¡Êfont-lock¡Ë¥â¡¼¥É¤ÎÍøÅÀ¤ò½½Ê¬¤Ë³èÍѤ¹¤ë¤Ë¤Ï¡¢ ¥Ü¡¼¥ë¥ÉÂΡ¢¥¤¥¿¥ê¥Ã¥¯ÂΡ¢¥Ü¡¼¥ë¥É¥¤¥¿¥ê¥Ã¥¯ÂΤΥǥե©¥ë¥È¥Õ¥©¥ó¥È¤ò Áª¤ÖɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤¢¤ë¤¤¤Ï¡¢¥«¥é¡¼¤ä¥°¥ì¡¼¥¹¥±¡¼¥ë¤Î²èÌ̤¬É¬ÍפǤ¹¡£
ÊÑ¿ôfont-lock-maximum-decoration
¤Ï¡¢
Ê£¿ô¤Î¥ì¥Ù¥ë¤òÄ󶡤¹¤ë¥â¡¼¥É¤Ç¤Î¥Õ¥©¥ó¥Èɽ¼¨²½¤Î¹¥¤Þ¤·¤¤¥ì¥Ù¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
¥ì¥Ù¥ë1¤ÏºÇÄã¸Â¤Î¥Õ¥©¥ó¥Èɽ¼¨²½¤Ç¤¹¡£
¤¤¤¯¤Ä¤«¤Î¥â¡¼¥É¤Ç¤Ï¡¢¤â¤Ã¤È¤â¹â¤¤3¤Î¥ì¥Ù¥ë¤Þ¤Ç¤¢¤ê¤Þ¤¹¡£
Ä̾ï¥Ç¥Õ¥©¥ë¥È¤Ï¡Ø²Äǽ¤Ê¸Â¤êÂ礤¤¿ô¡Ù¤Ç¤¹¡£
¤¹¤Ù¤Æ¤Î¥â¡¼¥É¤ËŬÍѤ¹¤ëÀ°¿ô¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
¤¢¤ë¤¤¤Ï¡¢ÆÃÄê¤Î¥á¥¸¥ã¡¼¥â¡¼¥É¤ËÂФ·¤Æ°Û¤Ê¤ë¿ô¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢C/C++¥â¡¼¥É¤Ç¤Ï¥ì¥Ù¥ë1¤ò¡¢
¤½¤ì°Ê³°¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥ì¥Ù¥ë¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢¤Ä¤®¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
(setq font-lock-maximum-decoration '((c-mode . 1) (c++-mode . 1)))
¥Õ¥©¥ó¥Èɽ¼¨²½¤Ï¡¢Â礤ʥХåե¡¤ËÂФ·¤Æ¤Ï¤È¤Æ¤âÃÙ¤¯¤Ê¤ê¤¨¤Þ¤¹¤«¤é¡¢
ÍÞÀ©¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
ÊÑ¿ôfont-lock-maximum-size
¤Ë¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤ò»ØÄꤹ¤ë¤È¡¢
¤½¤ÎÃͤò±Û¤¨¤ë¥Ð¥Ã¥Õ¥¡¤Ë¤Ä¤¤¤Æ¤Ï¥Õ¥©¥ó¥Èɽ¼¨²½¤òÍÞÀ©¤·¤Þ¤¹¡£
¥³¥á¥ó¥È¤Èʸ»úÎó¤Î¥Õ¥©¥ó¥Èɽ¼¨²½¡Ê¤¢¤ë¤¤¤Ï¡¢¡Ø¹½Ê¸¤Î¡Ù¥Õ¥©¥ó¥Èɽ¼¨²½¡Ë¤Ï¡¢ ¥Ð¥Ã¥Õ¥¡¤Î¥Æ¥¥¹¥È¤Î¹½Ê¸²òÀϤËÍê¤Ã¤Æ¤¤¤Þ¤¹¡£ ®ÅÙ¸þ¾å¤Î¤¿¤á¤Ë¡¢C¥â¡¼¥É¤äLisp¥â¡¼¥É¤ò´Þ¤à¤¤¤¯¤Ä¤«¤Î¥â¡¼¥É¤Ç¤Ï¡¢ ÆÃÊ̤ʽ¬´·¤ËÍê¤Ã¤Æ¤¤¤Þ¤¹¡£ ºÇº¸·å¤Ë¤¢¤ë³«¤³ç¸Ì¤Ï¡¢¤Ä¤Í¤Ë´Ø¿ôÄêµÁ¤Î³«»Ï¤òɽ¤·¡¢ ¤½¤Î¤¿¤á¡¢¤Ä¤Í¤Ëʸ»úÎó¤ä¥³¥á¥ó¥È¤Î³°Â¦¤À¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ ¡Êsee Defuns¡£¡Ë ¤³¤Î½¬´·¤Ë½¾¤ï¤Ê¤¤¤È¡¢¥Õ¥©¥ó¥È¥í¥Ã¥¯¡Êfont-lock¡Ë¥â¡¼¥É¤Ï¡¢ ʸ»úÎó¤ä¥³¥á¥ó¥È¤ÎÆâ¦¤Ë¤¢¤ëºÇº¸·å¤Î³«¤³ç¸Ì¤Î¤¦¤·¤í¤Ç¤Ï¡¢ °ã¤Ã¤¿¥Õ¥©¥ó¥Èɽ¼¨²½¤ò¤¹¤ë¤³¤È¤â¤¢¤ê¤¨¤Þ¤¹¡£
ÊÑ¿ôfont-lock-beginning-of-syntax-function
¡Ê¤Ä¤Í¤Ë¥Ð¥Ã¥Õ¥¡¤Ë¥í¡¼¥«¥ë¡Ë¤Ï¡¢¥Õ¥©¥ó¥È¥í¥Ã¥¯¡Êfont-lock¡Ë¥â¡¼¥É¤¬¡¢
¥³¥á¥ó¥È¤äʸ»úÎó¤Î³°Â¦¤Ç¤¢¤ë¤³¤È¤¬Êݾڤµ¤ì¤ë°ÌÃÖ¤ò
¤É¤Î¤è¤¦¤Ëõ¤¹¤«¤ò»ØÄꤷ¤Þ¤¹¡£
ºÇº¸·å¤Î³ç¸Ì¤Î½¬´·¤ò»È¤¦¥â¡¼¥É¤Ç¤Ï¡¢
ÊÑ¿ô¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢beginning-of-defun
¤Ç¤¹¡£
¤Ä¤Þ¤ê¡¢¥Õ¥©¥ó¥È¥í¥Ã¥¯¡Êfont-lock¡Ë¥â¡¼¥É¤Ï
½¬´·¤ò»È¤¦¤è¤¦¤Ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
¤³¤ÎÊÑ¿ô¤Ënil
¤òÀßÄꤹ¤ë¤È¡¢
¥Õ¥©¥ó¥È¥í¥Ã¥¯¡Êfont-lock¡Ë¥â¡¼¥É¤Ï¡¢¤â¤Ï¤ä½¬´·¤ËÍê¤ê¤Þ¤»¤ó¡£
¤³¤ì¤Ç¤Þ¤Á¤¬¤Ã¤¿·ë²Ì¤òÈò¤±¤é¤ì¤Þ¤¹¤¬¡¢¤½¤ÎÂå½þ¤Ï¡¢
Êѹ¹¤·¤¿¥Æ¥¥¹¥È¤ò¥Õ¥©¥ó¥Èɽ¼¨²½¤¹¤ë¤Ë¤Ï¡¢
¥Ð¥Ã¥Õ¥¡¤Î¥Æ¥¥¹¥È¤ò¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¤«¤éºÆÁöºº¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£
¿¤¯¤Î¥â¡¼¥É¤ËÂФ¹¤ë¥Õ¥©¥ó¥È¥í¥Ã¥¯¤Î¶¯Ä´É½¼¨¥Ñ¥¿¡¼¥ó¤Ï¤¹¤Ç¤Ë¤¢¤ê¤Þ¤¹¤¬¡¢
¥Õ¥©¥ó¥Èɽ¼¨²½¤¹¤ë¥Ñ¥¿¡¼¥ó¤òÄɲä·¤¿¤¤¤³¤È¤â¤¢¤ë¤Ç¤·¤ç¤¦¡£
´Ø¿ôfont-lock-add-keywords
¤ò»È¤Ã¤Æ¡¢
ÆÃÄê¤Î¥â¡¼¥É¤ËÂФ¹¤ë¸Ä¿ÍÍѤζ¯Ä´É½¼¨¥Ñ¥¿¡¼¥ó¤òÄɲäǤ¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢C¤Î¥³¥á¥ó¥È¤Çñ¸ì‘FIXME:’¤ò¶¯Ä´É½¼¨¤¹¤ë¤Ë¤Ï¡¢
¤Ä¤®¤Î¤è¤¦¤Ë»È¤¤¤Þ¤¹¡£
(font-lock-add-keywords 'c-mode '(("\\<\\(FIXME\\):" 1 font-lock-warning-face t)))