== ´Ü¶ô ÀÚµ¿À¸·Î ä¿ì±â == M-q´Â ±âº»ÀûÀ¸·Î 'fill-paragraph'·Î ¿¬°á(bind)µÇ¾î ÀÖ½À´Ï´Ù. Major mode¿¡ µû¶ó¼­ ´Ù¸¥ ÇÔ¼ö·Î bindingµÇ±âµµ ÇÏÁö¸¸, ±âº»ÀûÀ¸·Î´Â ºñ½ÁÇÑ command·Î ¿¬°áµË´Ï´Ù. ¿¹¸¦ µé¾î C ÆÄÀÏÀ» ÆíÁýÇÒ ¶§ ¾²´Â C major mode¿¡¼­´Â M-q°¡ 'c-fill-paragraph'·Î ¿¬°áµË´Ï´Ù. ÇÏÁö¸¸ ±âº»ÀûÀÎ idea´Â °°À¸´Ï Å©°Ô ½Å°æ¾²Áö ¾Ê¾Æµµ µË´Ï´Ù. fill-paragraph°¡ ÇÏ´Â ¿ªÇÒÀº ¸Å¿ì °£´ÜÇÕ´Ï´Ù. ÇöÀç point(Ä¿¼­)°¡ À§Ä¡ÇÑ °÷ÀÇ ÀÌ ³Ê¹« ±ä °æ¿ì, ÀÚµ¿À¸·Î ¿©·¯ ÁÙ·Î ¹Ù²Ù¾î ÁÝ´Ï´Ù. ¿¹¸¦ µé¾î º¸°Ú½À´Ï´Ù. ¸ÕÀú tmp.txt¸¦ ÆíÁýÇÕ´Ï´Ù. (C-x C-f tmp.txt) ±×¸®°í ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÕ´Ï´Ù. (¾Æ·¡ ÀԷ¿¡¼­ Àº ½ÇÁ¦·Î ÀÔ·ÂÇÑ ³»¿ëÀÌ ¾Æ´Ï°í ±× À§Ä¡¿¡¼­ ´ÙÀ½ ÁÙÀ» ÀÔ·ÂÇѴٴ ǥ½ÃÀÔ´Ï´Ù. ¶Ç [*]´Â ÇöÀç point, Áï Ä¿¼­°¡ À§Ä¡ÇÑ °÷À» ³ªÅ¸³À´Ï´Ù.) {{{ Valen snarled: There's no need to say, devil. I am Tanar'ri and you [*]are Bataazu. There is nothing but death between us. }}} ÀÌ ¶§, M-q¸¦ ´©¸£°Ô µÇ¸é ÀÔ·Â ³»¿ëÀÌ ´ÙÀ½°ú °°ÀÌ ¹Ù²ò´Ï´Ù: {{{ Valen snarled: There's no need to say, devil. I am Tanar'ri and you [*]are Bataazu. There is nothing but death between us. }}} À§¿Í °°ÀÌ ÀÚµ¿À¸·Î ÁÙÀ» ¸ÂÃß¾î ÁÙ ¶§, ÇÑ ÁÙÀÌ Â÷ÁöÇÒ ¼ö ÀÖ´Â ±ÛÀÚÀÇ °¹¼ö´Â º¯¼ö fill-column¿¡ ÀúÀåµÇ¾î ÀÖ½À´Ï´Ù. ±âº»°ªÀ¸·Î 70À¸·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. `fill-paragraph' ÇÔ¼ö´Â ¿ø·¡, ÇöÀç ´Ü¶ô(paragraph)¿¡¼­¸¸ µ¿ÀÛÇÕ´Ï´Ù. Áï, ¿¬¼ÓÀûÀ¸·Î µÎ °³ÀÇ newline ¹®ÀÚ·Î ±¸ºÐµÇÁö ¾Ê´Â ÇÑ (ºó ÁÙÀÌ Çϳª ÀÌ»ó ¿ÀÁö ¾Ê´Â ÀÌ»ó), ÇϳªÀÇ ´Ü¶ôÀ¸·Î º¾´Ï´Ù. ¸¸¾à À§ÀÇ ¿¹¿¡¼­, ÀÔ·ÂÀÌ ´ÙÀ½°ú °°¾Ò´Ù°í °¡Á¤ÇØ º¾½Ã´Ù: {{{ Valen snarled: There's no need to say, devil. I am Tanar'ri and you [*]are Bataazu. There is nothing but death between us. }}} À§ÀÇ °æ¿ì M-q¸¦ ´©¸£¸é ´ÙÀ½°ú °°ÀÌ º¯°æµË´Ï´Ù: {{{ Valen snarled: There's no need to say, devil. I am Tanar'ri and you [*]are Bataazu. There is nothing but death between us. }}} Áï, ù¹ø° ÁÙ¿¡ ÀÖ´Â "Valen..." ´ÙÀ½¿¡´Â µÎ °³ÀÇ ÀÌ ÀÖÀ¸¹Ç·Î, "Valen..."Àº M-q°¡ ÀÛ¾÷ÇÏ´Â ´Ü¶ô¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. ¿©±â±îÁö´Â ÀϹÝÀûÀÎ `fill-paragraph' ¸í·É¿¡ ´ëÇÑ °ÍÀÌ°í, C Äڵ带 ÆíÁýÇÒ ¶§ ¾²ÀÌ´Â `c-fill-paragraph'¿¡ ´ëÇØ ¾Ë¾Æº¾½Ã´Ù. Å©°Ô ´Ù¸¥ Á¡Àº º°·Î ¾ø½À´Ï´Ù¸¸, `c-fill-paragraph'´Â C³ª C++ Äڵ忡¼­ ¾²ÀÌ´Â ÁÖ¼® ½ºÅ¸ÀÏÀ» Á» ´õ Àß Ã³¸®ÇÕ´Ï´Ù. (¿©·¯ºÐÀÌ ½Å°æ¾µ °ÍÀº ¾ø½À´Ï´Ù. ¿Ö³ÄÇϸé C ¾ð¾î Äڵ带 ÆíÁýÇÒ ¶§¿¡´Â ÀÚµ¿ÀûÀ¸·Î M-q°¡ `c-fill-paragraph'¿¡ ¿¬°áµË´Ï´Ù.) ¾Æ·¡ ÄÚµå´Â gcc ¼Ò½ºÀÇ ÀϺο¡¼­ ¾òÀº °ÍÀÔ´Ï´Ù. ÆíÀÇ»ó ¾Æ·¡ Äڵ忡¼­ Àº Ç¥½ÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù. ±×¸®°í ¾Æ·¡ ÄÚµåÀÇ ÁÖ¼®Àº ÇÑ ÁÙ·Î µÇ¾î ÀÖ½À´Ï´Ù: {{{#!vim c case ZERO_EXTRACT: /* Note that in some cases those types of expressions are altered by optimize_bit_field, and do not survive to get here. */ if (XEXP (x, 0) == var || (GET_CODE (XEXP (x, 0)) == SUBREG && SUBREG_REG (XEXP (x, 0)) == var)) }}} À§ Äڵ忡¼­ Æ÷ÀÎÆ®(Ä¿¼­)¸¦ ÁÖ¼® Áß°£¿¡ À§Ä¡½ÃÅ°°í M-q¸¦ ´©¸¥ °á°úÀÔ´Ï´Ù: {{{#!vim c case ZERO_EXTRACT: /* Note that in some cases those types of expressions are altered by optimize_bit_field, and do not survive to get here. */ if (XEXP (x, 0) == var || (GET_CODE (XEXP (x, 0)) == SUBREG && SUBREG_REG (XEXP (x, 0)) == var)) }}} ¿ø·¡ Äڵ尡 ´ÙÀ½°ú °°ÀÌ µÇ¾î ÀÖ¾ú´Ù°í °¡Á¤Çϸé (¾Æ·¡ ÁÖ¼®Àº µÎ ÁÙ·Î µÇ¾î ÀÖ½À´Ï´Ù): {{{#!vim c case ZERO_EXTRACT: /* Note that in some cases * those types of expressions are altered by optimize_bit_field, and do not survive to get here. */ if (XEXP (x, 0) == var || (GET_CODE (XEXP (x, 0)) == SUBREG && SUBREG_REG (XEXP (x, 0)) == var)) }}} ÀÌ °æ¿ì ÁÖ¼®ÀÇ Áß°£ ºÎºÐ¿¡¼­ M-q¸¦ ´©¸£¸é ´ÙÀ½°ú °°ÀÌ ¹Ù²ò´Ï´Ù: {{{#!vim c case ZERO_EXTRACT: /* Note that in some cases those types of expressions are * altered by optimize_bit_field, and do not survive to get * here. */ if (XEXP (x, 0) == var || (GET_CODE (XEXP (x, 0)) == SUBREG && SUBREG_REG (XEXP (x, 0)) == var)) }}} Áï, ÁÖ¼®À» ¾²´Â ½ºÅ¸ÀÏÀ» ±×´ë·Î ÁؼöÇÏ¿© ´Ü¶ôÀ» ä¿öÁÝ´Ï´Ù! ½Å±âÇÏÁÒ? ±Û¾´ÀÌ´Â, ½ÇÁ¦·Î C Äڵ忡 ÁÖ¼®À» ´Þ ¶§ M-q¸¦ ¸Å¿ì ¸¹ÀÌ ¾¹´Ï´Ù. ¿©·¯ºÐµµ M-q¸¦ Àß È°¿ëÇϽñ⠹ٶø´Ï´Ù. ³¡ -- [http://www.cinsk.org/ ½Å¼º±¹] ---- CategoryEmacs