Emacs ¼Ò°³ÀÌ ÈÖÀç hjlee@wisenet.co.króÀ½ Emacs ¸¦ Á¢ÇÑ °ÍÀº ½Ç½À½Ç¿¡¼ CÇÁ·Î±×·¥À» Â¥±â ½ÃÀÛÇÒ¶§¿´½À´Ï´Ù. óÀ½ vi¸¦ ¹è¿ì°í Æò¼Ò DOS¸¦ »ç¿ëÇÒ ¶§ ¾²´ø ¿¡µðÅÍ¿Í »ç¿ë¹ýÀÌ ´Þ¶ó ¾Ö¸¦ ¸Ô°íÀÖ´ø Â÷¿¡ ±×³ª¸¶ Æò¼Ò ¾²´ø ¿¡µðÅÍ¿Í ºñ½ÁÇÏ°í Àå¾È¿¡ ĪÂùÀÌ ÀÚÀÚÇÑ ÀÌ ¿¡µðÅ͸¦ ¼Ò°³ ¹Þ¾Ò´ø °ÍÀÔ´Ï´Ù. óÀ½ Emacs ¸¦ ¾µ ¶§ Emacs ¿¡¼ ºüÁ®³ª¿À´Â ¹æ¹ýÀ» ¸ô¶ó ÇÑÂü Çì¸Å´ø »ý°¢À» ÇÏ¸é ¿ôÀ½ÀÌ ³³´Ï´Ù. ±× ´ç½Ã Àú´Â ´ÜÁö ±ÛÀÚ¸¦ »ðÀÔÇÏ°í Áö¿ì°í ÀúÀåÇÏ°í ÇÏ´Â Á¤µµÀÇ ±â´É¸¸ »ç¿ëÇß¾ú½À´Ï´Ù. Linux ¸¦ ¼³Ä¡ÇÏ°í ÀÌÁ¦ Á» Àͼ÷ÇØ Áú ¹«·Æ, Àú´Â Emacs ¸¦ Àß ¹è¿öº¸°í ½ÍÀº »ý°¢ÀÌ µé¾ú½À´Ï´Ù. ±×¸®ÇÏ¿© ±¸ÀÔÇÑ Ã¥ÀÌ ``Learning GNU Emacs''¶ó´Â Ã¥ÀÔ´Ï´Ù. ±× Ã¥À» º¸¸é¼ Àú´Â »ç¶÷µéÀÌ Á»´õ ½±°Ô Emacs ¸¦ ¹è¿ï ¼ö ÀÖ¾úÀ¸¸é ÁÁ°Ú´Ù¶ó´Â »ý°¢À» Çß½À´Ï´Ù. ±×¸®°í, Çѱ۷ΠÁ¤¸®ÇØ µÎ°í ½ÍÀº ¿å½ÉÀÌ »ý°å½À´Ï´Ù. Àü ÀÌ ±ÛÀÌ Emacs ¸¦ óÀ½ ¹è¿ì´Â »ç¶÷µé°ú ¶ÇÇÑ Àú Àڽſ¡°Ôµµ µµ¿òÀÌ µÇ±â¸¦ ¹Ù¶ø´Ï´Ù. ÇÊÀÚ´Â ÀÌ ±ÛÀ» Emacs ¸¦ ¾ÆÁ÷ Àß ¸ð¸£´Â »ç¶÷µéÀ» ´ë»óÀ¸·Î ¾µ °ÍÀÌ´Ù. ¶ÇÇÑ, Linux »ç¿ëÀÚµéÀ» À§ÇÑ ³»¿ëµéµµ Ãß°¡ µÉ °ÍÀÌ´Ù. ÀÌ ±ÛÀº ``Learning GNU Emacs'' ¶ó´Â Ã¥ÀÇ ³»¿ëÀ» ¸¹ÀÌ(°ÅÀÇ ´ëºÎºÐ) º£²¼´Ù. ¸¸ÀÏ ¿µ¾î¿¡ °ÅºÎ°¨ÀÌ º°·Î ¾ø´Ù¸é, ÀÌ ±ÛÀ» Àб⺸´Ù´Â ÀÌ Ã¥À» »ç¼ º¸´Â °ÍÀÌ ÈξÀ µµ¿òÀÌ µÇ¸®¶ó »ý°¢ÇÑ´Ù. Ȥ, ¿µ¾î¿¡ °ÅºÎ°¨ÀÌ ÀÖ´õ¶óµµ, »çºÁ¼ ¼ÕÇسªÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. 1. Emacs ¼Ò°³GNU Emacs´Â ¿À´Ã³¯, UNIX ¼¼°è¿¡¼ °¡Àå ³Î¸® »ç¿ëµÇ´Â text ¿¡µðÅÍÁßÀÇ ÇϳªÀÌ´Ù. ±×°ÍÀº º°·Î ÀÌ»ÚÁöµµ ¾Ê°í, »õ·Î¿î °Íµµ ¾Æ´Ï´Ù. ±×·³¿¡µµ ºÒ±¸ÇÏ°í ¸¹Àº »ç¶÷µéÀÌ ÀÌ ¿¡µðÅ͸¦ ÁÁ¾ÆÇÏ´Â ÀÌÀ¯´Â ±×°ÍÀÌ ¸Å¿ì À¯¿ëÇÑ toolÀ̶ó°í »ý°¢Çϱ⠶§¹®ÀÏ °ÍÀÌ´Ù. À¯¿ëÇÑ ±â´ÉÀ» ¹ß°ßÇÒ ¶§¸¶´Ù, Àü¿¡ ´Ù·ç´ø ¿¡µðÅ͵鿡¼ ¸¸³ªº¸Áö ¸øÇÑ °³³äµéÀ» ¸¸³¯ ¶§¸¶´Ù, ÇÊÀÚ´Â ÀÌ ¿¡µðÅÍÀÇ help¹®ÀÌ ¾ÆÁ÷ ¸ðµÎ ¿µ¾î·Î ¾º¿©Á® ÀÖ´Ù´Â µ¥ ´ëÇØ ÇÑźÀ» ´À³¤´Ù. `ÀÌ help¹®µéÀÌ Çѱ۷ΠµÇ¾î ÀÖ¾ú°Å³ª ¿µ¾î¸¦ ÇÑ±Û ÀеíÀÌ ÀÐÀ» ¸¸ÇÑ ´É·ÂÀÌ ³ª¿¡°Ô ÀÖ¾ú´Ù¸é ÁøÀÛ¿¡ ¾Ë¾ÒÀ» ÅÙµ¥... ÀÌ help¹®µéÀÌ ÇѱÛÈ µÇ¾î Áø´Ù¸é Àü±¹ÀÇ ¿µ¾î¿¡ °ÅºÎ°¨À» ´À³¢´Â ¸¹Àº UNIX »ç¿ëÀÚµé, ÇÁ·Î±×·¡¸Óµé, ¿¡µðÅÍ »ç¿ëÀÚ, °³¹ßÀÚµé, µîµîµî ¿¡°Ô ÇÑÁٱ⠺ûÀÌ µÉÅÙµ¥...' EmacsÀÇ °Á¡Àº ¹«¾ùº¸´Ùµµ, ±× À¯¿¬¼º°ú È®À强¿¡ ÀÖ´Ù°í ÇÒ ¼ö ÀÖ´Ù. ¸¸ÀÏ ±×·¸Áö ¾Ê´õ¶óµµ ±×·¸°Ô ¸»ÇÒ ¼ö ÀÖ´Ù. ÇÊÀÚ´Â ¿©·¯ºÐÀÌ Emacs¿¡ ´ëÇØ ¾Ë¾Æ°¥¼ö·Ï ³î¶ó¿òÀ» ´À³¢°Ô µÇ¸®¶ó »ý°¢ÇÑ´Ù. 1.1 ÈÀÏ°ú ¹öÆÛ(buffers)ÀÇ ÀÌÇØ(¿©±â¼ÀÇ ¹öÆÛ´Â ¿ì¸®°¡ ¹öÆÛÇÏ¸é ¶°¿À¸£´Â °Í ÇÏ°í ´Ù¸£´Ù´Â »ç¶÷ÀÌ ÀÖ¾ú´Ù.) ¿¡µðÅ͵éÀº ½ÇÁúÀûÀÎ ÈÀÏÀ» ÆíÁýÇÏÁö´Â ¾Ê´Â´Ù. ´ë½Å ÈÀÏÀÇ ³»¿ëÀ» Àӽà ¹öÆÛ¿¡ ³Ö°í ±×°ÍÀ» ÆíÁýÇÑ´Ù. ±â¾ïÇ϶ó. ¹öÆÛ´Â ÈÀÏ°ú ¾ÆÁÖ ºñ½ÁÇÏ°Ô º¸ÀÏÁö¶óµµ ´ÜÁö ÈÀÏÀÇ º¹»çº»¸¸À» º¸°üÇÏ´Â Àӽà ÀÛ¾÷¿µ¿ªÀÏ »ÓÀÌ´Ù. ÈÀÏó·³, ¹öÆÛµµ À̸§À» °¡Áö°í ÀÖ´Ù. ¹öÆÛÀÇ À̸§Àº ÀϹÝÀûÀ¸·Î ÆíÁýÇÏ°í ÀÖ´Â ÈÀÏÀÇ À̸§°ú °°´Ù. ¿©±â¿¡´Â ¸î°¡Áö ¿¹¿Ü°¡ ÀÖ´Ù. ±×·¯³ª ¿©±â¼ Áß¿äÇÑ °ÍÀº ¹öÆÛ´Â ÈÀÏÀÇ º¹Á¦¶ó´Â Á¡ÀÌ´Ù. ¹öÆÛ¸¦ ¼öÁ¤ÇÏ°í ±× ¼öÁ¤ÀÌ ¸¶À½¿¡ µé¸é ÈÀÏ¿¡ ÀúÀåÇÒ ¼ö ÀÖ´Ù. ¸¸ÀÏ ¼öÁ¤ÀÌ ¸¶À½¿¡ µéÁö ¾Ê´Â´Ù¸é ÈÀÏÀ» ÀúÀåÇÏÁö ¾Ê°í Emacs ¸¦ ºüÁ®³ª¿Ã ¼ö ÀÖ´Ù. 1.2 ¸ðµåEmacs ´Â ´Ù¾çÇÑ ÆíÁý¸ðµå¸¦ °¡Áö°í ÀÖ´Ù. ÀÌ°ÍÀÌ ÀǹÌÇÏ´Â °ÍÀº ÇÏ°íÀÚ ÇÏ´Â ÀÛ¾÷¿¡ µû¶ó ¾Ë¸Â°Ô ÇൿÇÑ´Ù´Â °ÍÀÌ´Ù. Emacs´Â ¿©·¯°¡Áö ´Ù¸¥ÀÛ¾÷¿¡ µû¶ó ´Þ¸® ÇൿÇÏ´Â ¿¡µðÅÍ°¡ µÈ´Ù. ¸ðµå´Â ÁÖ¸ðµå(majar modes)¿Í ºÎ¸ðµå(minor modes)°¡ ÀÖ´Ù. ¹öÆÛ´Â Çѹø¿¡ ÇÑ°¡Áö ÁÖ¸ðµå¿¡ ¼ÓÇÒ ¼ö ÀÖ´Ù.
ºÎ¸ðµå´Â EmacsÀÇ Çൿ¿¡ Ưº°ÇÑ ¾ç»óÀ» Ãß°¡ÇÑ´Ù.
¸¸ÀÏ, Ưº°ÇÑ ¸ñÀûÀ» À§ÇÑ ¸ðµå°¡ ÇÊ¿äÇÏ´Ù¸é, ¿©·¯ºÐÀº ±× ¸ðµå¸¦ ÇÁ·Î±×·¥ÇÒ ¼ö ÀÖ´Ù. (Emacs°¡ ÇൿÇÏ´Â ¹æ½ÄÀ» Á¶Á¤ÇÒ ¼ö ÀÖ´Ù.) ¸¸ÀÏ, ±× ¸ðµå¸¦ ÇÊ¿ä·ÎÇÏ´Â »ç¶÷ÀÌ ¸¹´Ù¸é, ¹ú½á ´©±º°¡ ¸ÚÁö°Ô ¸¸µé¾î ³õÀº °ÍÀ» ±¸ÇÒ ¼ö ÀÖÀ»Áöµµ ¸ð¸¥´Ù. (ÀÏ·Ê·Î ÇÊÀÚ´Â c++-mode¸¦ ±¸Çؼ ¾²°í ÀÖ´Ù.) 2. ÀÏ´Ü ½áº¸±â2.1 Emacs °¡µ¿Emacs¸¦ °¡µ¿ÇÏ·Á¸é emacs ¶ó°í Ä¡°í µÚ¿¡ ÆíÁýÇÏ°íÀÚÇÏ´Â ÈÀÏÀÇ À̸§À» Ä¡¸éµÈ´Ù. ¸¸ÀÏ Á¸ÀçÇÏÁö ¾Ê´Â ÈÀÏÀ̸§À» »ç¿ëÇϸé Emacs´Â »õ·Î¿î Ä¿¼´Â ``point'' ¶Ç´Â ``dot''¶ó°íµµ ºÒ¸°´Ù. EmacsÀÇ ¿Â¶óÀÎ µµ¿ò¸» ±â´ÉÀº ÀÌ ´Ü¾î¸¦ »ç¿ëÇÑ´Ù. ¸¹Àº ÆíÁý±â µé°ú´Â ´Þ¸®(´ëÇ¥ÀûÀ¸·Î vi) Emacs´Â ±ÛÀÚ¸¦ »ðÀÔÇÏ°í ¸í·ÉÀ» ³»¸®´Â ¸ðµå¸¦ ±¸ºÐÇÏÁö ¾Ê´Â´Ù. ȸéÀÇ ¸Ç ¾Æ·§ÁÙÀº ``¹Ì´Ï¹öÆÛ''·Î »ç¿ëµÇ°í ¾Æ·¡¿¡¼ µÎ¹ø° ÁÙÀº ¿©·¯°¡Áö Á¤º¸¸¦ Ç¥½ÃÇØ ÁØ´Ù. ÀÌ ÁÙÀº ``¸ðµå¶óÀÎ'' À̶ó°í ºÒ¸°´Ù. ¸Ç ¿ÞÂÊ¿¡ µÎ°³ÀÇ º°Ç¥(**)°¡ ÀÖ´Ù¸é, ¹öÆÛ°¡ ¼öÁ¤ µÇ¾ú´Ù´Â °ÍÀ» ³ªÅ¸³» ÁØ´Ù. (ÀÌ À§Ä¡¿¡ %%°¡ ÀÖÀ¸¸é Àбâ Àü¿ë ¹öÆÛÀÓÀ» ³ªÅ¸³½´Ù.) Emacs:µÚ¿¡ ¹öÆÛ(ȤÀº ÈÀÏ)ÀÇ À̸§ÀÌ ³ª¿Â´Ù. °ýÈ£ ¾È¿¡ ÇöÀçÀÇ ¸ðµå°¡ ³ª¿À°í, ±× µÚ¿¡ ȸ鿡 º¸ÀÌ´Â ºÎºÐÀÌ ÀüüÁß ¾îµðÂëÀÎÁö¸¦ Ç¥½ÃÇØ ÁØ´Ù. ¹öÆÛÀÇ Ã³À½ÀÏ °æ¿ì 'Top', ³¡ÀÏ °æ¿ì 'Bot' ±×·¸Áö ¾ÊÀ» °æ¿ì¿¡´Â %·Î Ç¥½ÃÇØ ÁÖ°í, ¹öÆÛÀÇ ³»¿ë Àüü°¡ ȸ鿡 º¸ÀÏ °æ¿ì¿¡´Â 'ALL'À̶ó°í Ç¥½ÃÇØ ÁØ´Ù. EmacsÀÇ ¼÷·ÃÀÚ°¡ µÇ¸é, ¶§¶§·Î ¿©·¯°³ÀÇ ¹öÆÛ¸¦ °°ÀÌ ¿¾î ³õ°í ÀÛ¾÷À» ÇÒ ¶§µµ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ·¯ÇÑ °æ¿ì¿¡µµ °¢°¢ÀÇ ¹öÆÛ´Â °¢°¢ÀÇ ¸ðµå¶óÀÎÀ» °¡Áö°Ô µÈ´Ù. 2.2 Emacs ¸í·É¾îµéEmacs ´Â ¸îõ ¾Æ´Ï¸é ¸î¹é°³ÀÇ ¸í·É¾îµéÀ» °¡Áö°í ÀÖ´Ù. ¹°·Ð µ¶ÀÚµé·Î ¿¹»óÇÏ°í ÀÖ°ÚÁö¸¸ bindingÀÌ ÀÌ·ç¾îÁöÁö ¾ÊÀº ¸í·É¾î µéÀ̳ª, ¾î¶² Å°¿¡ bindingÀÌ ÀÌ·ç¾îÁ® ÀÖ´ÂÁö ¸ð¸£´Â °æ¿ì¿¡´Â M-x ``¸í·É¾î À̸§'' RETURN À» Ä¡¸é µÈ´Ù. Emacs ´Â »ç¿ëÀÚ°¡ Àڱ⸸ÀÇ bindingÀ» °¡Áö°Å³ª, ±âÁ¸ÀÇ bindingÀ» ¹Ù²Ü ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ÀÚ¼¼ÇÑ °ÍÀº ``Learning GNU Emacs'' 9ÀåÀ» Âü°íÇϰųª, Emacs Help¸¦ Âü°íÇϱ⠹ٶõ´Ù. (¾Æ´Ï¸é, ÀÌ ±ÛÀÌ È¤½Ã ±× ³»¿ëÀ» ´Ù·ç°Ô µÉÁöµµ ¸ð¸£¹Ç·Î ±× ¶§±îÁö ±â´Ù¸®¸é µÈ´Ù.) 2.3 ±âº» ¸í·ÉµéÀÚ ÀÌÁ¦ °¡Àå ±âº»ÀûÀÎ ¸í·É¾îµé¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ. ¿©±â¼ ºÎÅÍ´Â ¸í·É¾î ¿ä¾àÀ» ¸ÕÀú Á¦½ÃÇÏ°í º¸Ãæ¼³¸íÀÌ ÇÊ¿äÇÑ ºÎºÐÀº µÚ¿¡ ¼³¸íÇÏ´Â ¹æ½ÄÀ¸·Î ÁøÇàÇÏ°Ú´Ù. ¸í·É¾î ¿ä¾àÀº ¸í·É¾î ´ÜÃàÅ°¸¦ ¸ÕÀú Á¦½ÃÇÏ°í ³ ÈÄ ¸í·É¾î À̸§À» ½á ³õ¾Ò´Ù. C-x C-f (find-file)°°Àº À̸§ÀÇ ¹öÆÛ¸¦ ¸¸µé°í, ÈÀÏÀ» Àоî¿Â´Ù. ¸¸ÀÏ ÈÀÏÀÌ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é »õ·Î¿î ÈÀÏÀ» ¸¸µç´Ù. (´Ù¸¥ ¿¡µðÅ͵éÀÇ 'file open' °ú À¯»ç) C-x C-v (find-alternate-file) : ¹æ±Ý ÀÐÀº ÈÀÏ ´ë½Å ´Ù¸¥ ÈÀÏÀ» Àоî¿Â´Ù. À߸øµÈ ÈÀÏÀ» ÀоúÀ» ¶§ »ç¿ëÇÑ´Ù. helpEmacs help´Â »ç¿ëÀÚ¿ÍÀÇ ´ëȸ¦ À§ÇÏ¿© Á¾Á¾ ´Ù¸¥ À©µµ¿ì¸¦ ¿°Å³ª, ¹Ì´Ï¹öÆÛ¸¦ »ç¿ëÇϰųª, ¶§·Î´Â Àüü À©µµ¿ì¸¦ Â÷ÁöÇϱ⵵ ÇÑ´Ù. ¹Ì´Ï ¹öÆÛ¿¡ ³ª¿À´Â ³»¿ëµéÀº Á¾Á¾ Áß¿äÇÑ Áö½ÄÀ» ¾ò°Ô ÇØÁֹǷÎ, ¹Ì´Ï ¹öÆÛÀÇ ³»¿ëµéÀ» À¯½ÉÈ÷ º¸´Â °Íµµ Emacs ¸¦ »¡¸® ÀÍÈ÷´Â ÇÑ ¹æ¹ýÀÏ °ÍÀÌ´Ù. ¿¹¸¦ µé¾î C-h ¸¦ ´·¯º¸ÀÚ. ? ¸¦ ´·¯º¸¶ó°í ÇÑ´Ù. ?¸¦ ´·¯º¸ÀÚ. C-h¸¦ Çѹø ´õ ´©¸£¸é ÀÚ¼¼ÇÑ Á¤º¸¸¦ ÁÖ°Ú´Ù°í ÇÑ´Ù. ´·¯º¸ÀÚ. ¼³¸íÀÌ ³ª¿Â´Ù. ±×¸®°í ȸ鿡 ´Ù ¾È ³ª¿À¸é space ¸¦ ´©¸£¸é ȸéÀÌ ½ºÄÚ·ÑµÈ´Ù°í ¾Ë·ÁÁØ´Ù. (C-h¸¦ ¸¶±¸ ´·¯µµ °°Àº °á°ú°¡ »ý±ä´Ù.) t¸¦ ´·¯¼ TURTORIALÀ» ¼±ÅÃÇØ º¸ÀÚ. ÀÌÁ¦ TURTORIAL À» ÀÌ¿ëÇؼ Emacs °øºÎ¸¦ Çغ¸ÀÚ. C-h fDescribe function: À̶ó°í ³ª¿Â´Ù. ¿©±â´Ù describe-function À̶ó°í Ãĺ¸ÀÚ.(ÀÌ·¯ÇÑ °æ¿ì¿¡µµ completionÀÌ Àû¿ëµÈ´Ù. Çѹø ½ÃµµÇØ º¸ÀÚ.) ±×·¯¸é, ȸéÀÌ °¥¶óÁö¸é¼ ¾Æ·¡ À©µµ¿ì¿¡ describe-function À̶ó´Â ¸í·É¿¡ ´ëÇÑ ¼³¸íÀÌ ³ª¿À°í, ¹Ì´Ï¹öÆÛ¿¡´Â Ä£ÀýÇÏ°Ôµµ, C-x 1 À» ´©¸£¸é ´Ù½Ã ȸéÀÌ Çϳª°¡ µÈ´Ù´Â À̾߱Ⱑ ³ª¿Â´Ù. (ÀÌ ³»¿ëÀº ¹öÁ¯¿¡ µû¶ó Á¶±Ý ´Ù¸¦ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. ¾î·µç Áö±Ý ÇÊÀÚ°¡ ¾²°í ÀÖ´Â Emacs ´Â ÀÌ·¸°Ô µ¿ÀÛÇÑ´Ù.) ¾Õ¿¡¼ ÇÊÀÚ´Â ``Learning GNU Emacs'' ¶ó´Â Ã¥À» ¼Ò°³Çß¾ú´Ù. `À½, À߸øµÈ ³»¿ëÀÌ ÀûÀ¸·Á¸é Ã¥»Ó¸¸¾Æ´Ï¶ó ½ÇÁ¦·Î »ç¿ëÇؼ È®ÀÎÇغ¸°í, ¶Ç Emacs ÀÚüÀÇ ¼³¸íµµ Àо´Â °ÍÀÌ ÁÁ°ÚÁö.' ±×·¡¼, ÇÊÀÚ´Â Emacs ÀÇ `info' ¸¦ Àо±â ½ÃÀÛÇß´ø °ÍÀÌ´Ù. `±×·¡, Emacs ¸¦ ÀÍÈ÷´Âµ¥ µµ¿òÀÌ ¸¹ÀÌ µÇ°Ú±º.' ¸¶À½ °°¾Æ¼± ±× ³»¿ëµéÀ» ´Ù ¹ø¿ªÇؼ ¿Ã¸®°í ½ÍÁö¸¸, Âü±â·Î Çß´Ù. ¾î·µç ÀÏ´Ü info ·Î µé¾î°¡ º¸ÀÚ. (`C-h i' ¸¦ ´©¸¥´Ù.) Emacs ³ëµå·Î °¡ÀÚ. (g ¸¦ ´©¸£°í emacs RETURN À» ´©¸¥´Ù. ¾Æ´Ï¸é, `* Emacs: (emacs)' ¶ó°í µÈ ÁÙÀ» ã¾Æ°¡¼ RETURN À» ´·¯µµ µÈ´Ù.) »ðÀÔ»ðÀÔÀ» À§Çؼ´Â ±×³É ¹®ÀÚ¸¦ Ä¡¸é µÈ´Ù. ¹æ±Ý Ä£ ¹®ÀÚ¸¦ Áö¿ì·Á¸é DEL Å°¸¦ »ç¿ëÇÏ¸é µÈ´Ù. ``Auto Fill'' ¸ðµå¸¦ »ç¿ëÇϸé ÁÙÀÌ ±æ¾îÁú °æ¿ì ÀÚµ¿À¸·Î ÁÙÀÌ ³ª´©¾îÁö°Ô ÇÒ ¼ö ÀÖ´Ù. ¸¸ÀÏ ´ç½ÅÀÌ ¹®ÀÚ°¡ »ðÀԵǾîÁö´Â ´ë½Å¿¡ µ¤¾î¾º¿öÁö±â¸¦ ¹Ù¶õ´Ù¸é Overwrite ¸ðµå¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. control ¹®ÀÚ³ª 8Áø¼ö 200 ÀÌ»óÀÇ ¹®ÀÚ Äڵ带 °¡Áö´Â ¹®ÀÚµî Á÷Á¢ »ðÀÔÀÌ Èûµç ¹®ÀÚ¸¦ ÀÔ·ÂÇÏ·Á¸é `C-q' ¸í·ÉÀ» »ç¿ëÇÏ¸é µÈ´Ù.
À̵¿ ¸í·É
¼ýÀÚ ÀμöÀÚ, ÀÌ ±ÛÀ» ÀÐÀ¸¸é¼ ½Ç½ÀÀ» Çغ¸±â ¹Ù¶õ´Ù. ±×³É Àб⸸ ÇÏ´Â°Í º¸´Ù´Â Çѹø Çغ¸´Â °ÍÀÌ ÈξÀ »¡¸® ÀÍÈú ¼ö ÀÖ´Â ¹æ¹ýÀ̴ϱî. À§ÀÇ `M-r' (`move-to-window-line') ¸í·ÉÀ» º¸¸é ¼ýÀÚ Àμö¸¦ ¹Þ¾ÆµéÀδٴ ³»¿ëÀÌ Àִµ¥, ¸í·É¿¡ ¾î¶»°Ô ¼ýÀÚ Àμö¸¦ ÁÙ±î?
»èÁ¦ ¸í·É
º¯È Ãë¼Ò(Undoing Changes)`Emacs ´Â ¹®¼³ª ¹öÆÛÀÇ º¯È¸¦ ¾î¶² ¾ç±îÁö(8000ÀÚ Á¤µµ) Ãë¼ÒÇÏ´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇØÁشٰí? °¢°¢ÀÇ ¹öÆÛ¿¡ ´ëÇØ Ãë¼Ò°¡ µû·Î Àû¿ëµÈ´Ù. ÀϹÝÀûÀ¸·Î °¢°¢ÀÇ ¸í·ÉÀº ÇϳªÀÇ Ãë¼Ò ±â·ÏÀ» ³²±âÁö¸¸, `query-replace' ó·³ ¿©·¯ ±â·ÏÀ» ³²±â´Â ¸í·Éµµ ÀÖ°í ¹¿©¼ ±â·ÏµÇ´Â °æ¿ìµµ ÀÖ´Ù.'
°è¼ÓÀûÀÎ `C-_' ¶Ç´Â `C-x u' ¸í·ÉÀº ±â·ÏµÈ ÇÑ°è±îÁö ÀÌÀüÀÇ, ¶Ç ±× ÀÌÀüÀÇ º¯È¸¦ Ãë¼ÒÇÑ´Ù. ¸¸ÀÏ ±â·ÏµÈ °ÍÀÌ ¾øÀ¸¸é ¿¡·¯ ¸Þ½ÃÁö¸¦ ³½´Ù. Ãë¼Ò ¸í·ÉÀÌ ¾Æ´Ñ ¾î¶² ¸í·Éµµ Ãë¼Ò ¸í·ÉÀÇ ¿¬¼ÓÀ» ²÷´Â´Ù. ÀÌ ½ÃÁ¡¿¡¼ ÀÌÀüÀÇ Ãë¼Ò ¸í·ÉµéÀº º¯È·Î ÀνĵǾî Ãë¼Ò ¸í·É¿¡ÀÇÇØ Ãë¼Ò µÉ ¼ö ÀÖ´Ù. Ãë¼Ò¸¦ Ãë¼ÒÇÏ·Á¸é, `C-f' µîÀÇ ¸í·ÉÀ» ³»¸®°í Ãë¼Ò ¸í·ÉÀ» ³»¸®¸é µÈ´Ù. (Á»´õ ±íÀº ³»¿ëÀ» ¾Ë°í ½ÍÀ¸½Ã´Ù¸é Emacs ÀÇ info ¸¦ ÂüÁ¶Çϼ¼¿ä.) ¹Ì´Ï¹öÆÛȸéÀÇ ¸Ç ¾Æ·§ÁÙÀº ``minibuffer window'' ȤÀº ``echo area'' ¶ó°í ºÒ¸®¿î´Ù. ÀÌ ¿µ¿ªÀº »ç¿ëÀÚ¿¡°Ô °£´ÜÇÑ Á¤º¸(¿¡·¯ ¸Þ½ÃÁöµî)À» Àü´ÞÇϰųª, ÈÀϸí, ¹öÆÛ¸í, Lisp ÇÔ¼ö¸í, µîµîÀÇ º¹ÀâÇÑ Àμö¸¦ ³Ñ°Ü¹Þ´Âµ¥ »ç¿ëµÈ´Ù. ¶§¶§·Î ¹Ì´Ï¹öÆÛ´Â µðÆúÆ® Àμö¸¦ °ýÈ£ ¾È¿¡ Á¦½ÃÇϱ⵵ ÇÑ´Ù. ÀÌ ¶§ ÀÌ µðÆúÆ® Àμö¸¦ ÀÌ¿ëÇÏ·Á¸é ±×³É RETURN À» ´©¸£¸é µÈ´Ù. ¹Ì´Ï¹öÆÛ¸¦ »ç¿ëÇÏ´Â ¸í·ÉÀ» Ãë¼ÒÇÏ´Â °£´ÜÇÑ ¹æ¹ýÀº `C-g'¸¦ ´©¸£´Â °ÍÀÌ´Ù. ÀÌ°ÍÀº, ¹Ì´Ï¹öÆÛ¸¦ »ç¿ëÇÏÁö ¾Ê´Â ¸í·ÉÀÌ¶óµµ ¿©·¯Å°µéÀ» ´©¸£´Â ¸í·ÉÀÇ °æ¿ì¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
¹Ì´Ï¹öÆÛ¸¦ »ç¿ëÇÏ´Â ¸í·ÉÀ» ¹Ýº¹ÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù.
µµ¿ò¸» ±â´ÉEmacs ÀÇ µµ¿ò¸» ¸í·ÉÀº ¸ðµÎ `C-h' ·Î ½ÃÀÛÇÑ´Ù. h ´Â help ¶ó´Â ´Ü¾î¿¡¼ µû¿Ô´Ù.
Emacs ¿¡ Á¶±Ý Àͼ÷ÇØÁ³´Ù¸é ÀÌ µµ¿ò¸» ±â´ÉÀ» ¸¹ÀÌ È°¿ëÇϱ⸦ Àû±Ø ±ÇÇÑ´Ù. ¹º°¡ ±Ã±ÝÇÏ´Ù¸é µµ¿ò¸» ±â´ÉÀ» ¾î¶»°Ô ÀÌ¿ëÇÒ±î »ý°¢ÇÏ´Â ½À°üÀ» °¡Áö½Ã±æ. Emacs ¸¦ º¸´Ù ´õ Àß »ç¿ëÇÒ ¼ö ÀÖ´Â ºñ°áÀÏ °ÍÀÌ´Ù. °£´ÜÇÑ ¼³Á¤ º¯È¯`customize' ¶õ ´Ü¾î¸¦ ã¾Æº¸¸é `ÁÖ¹®¿¡ µû¶ó ¸¸µé´Ù.' ¶ó´Â ¶æÀÌ ÀÖ´Ù. `customization' À̶õ ´Ü¾î¸¦ Á» ´õ Á¤È®È÷ Ç¥ÇöÇÏÀÚ¸é `ÁÖ¹®¿¡ µû¶ó ¸¸µå±â' Á¤µµ°¡ µÉ ÅÍÀε¥, ±×³É `¼³Á¤ º¯È¯'À̶ó´Â Á» ¾Ö¸ÅÇÑ ´Ü¾î¸¦ »ç¿ëÇÏ¿´´Ù. Àüȸ¿¡ ¸»ÇßµíÀÌ ¿©±â¿¡ ÇÊÀÚÀÇ `.emacs' ÈÀÏÀ» °ø°³ÇÑ´Ù. `.emacs' ÈÀÏÀº Emacs °¡ °¡µ¿µÇ¸é¼ ÇÏ¿©¾ß ÇÒ ÀϵéÀ» ±â¼úÇØ ³õ´Â ÈÀÏÀÌ´Ù. Emacs ÀÇ ÀÚü Lisp ¾ð¾î·Î ±â¼ú µÇ¾îÁ®ÀÖÁö¸¸, Àß »ìÆ캸¸é ´Ù¸¥ º¯È¸¦ ÁÖ´Â °Íµµ ±×´ÙÁö ¾î·ÆÁö´Â ¾ÊÀ¸¸®¶ó »ý°¢µÈ´Ù. ±×·¯³ª, ¿ø·¡ÀÇ Ç¥ÁØ Å° binding Àº µÇµµ·ÏÀÌ¸é ¹Ù²ÙÁö ¸» °ÍÀ» ±ÇÇÑ´Ù.
¸¶Å©¿Í ¿µ¿ª(The Mark and the Region)Emacs ¿¡´Â Çö ¹öÆÛÀÇ Æ¯Á¤ ¿¬¼ÓµÈ ºÎºÐ¿¡ ÇàÇÏ¿©Áö´Â ¸í·ÉÀÌ ¸¹ÀÌ ÀÖ´Ù. ÀÌ·¯ÇÑ ¸í·ÉÀÌ ÇàÇÏ¿©Áú ºÎºÐÀ» ÁöÁ¤Çϱâ À§ÇØ ÇÑÂÊ ³¡¿¡ ``mark'' ¸¦ ÁöÁ¤ÇÏ°í, Æ÷ÀÎÆ®¸¦ ´Ù¸¥ ÂÊ ³¡À¸·Î ¿Å°Ü¾ß ÇÑ´Ù. Æ÷ÀÎÆ®¿Í ¸¶Å© »çÀÌÀÇ ºÎºÐÀ» ``region'' À̶ó°í ÇÑ´Ù. (ÀÌÇÏ ``¿µ¿ª''À̶ó ÇÏ°Ú´Ù.) ¸¶Å©°¡ Çѹø ÁöÁ¤µÈ ÀÌÈÄ¿¡´Â, ±×°ÍÀÌ ´Ù¸¥ À§Ä¡¿¡ ´Ù½Ã ÁöÁ¤µÉ ¶§±îÁö ³²¾ÆÀִ´Ù. ¸¶Å©´Â ÅؽºÆ®°¡ ÀԷµǰųª »èÁ¦µÉ ¶§ ±× ¾ÕÀÇ ¹®ÀÚ¿¡ µû¶ó À§Ä¡°¡ °íÁ¤µÇ¾î Àִ´Ù. °¢°¢ÀÇ Emacs ¹öÆÛ´Â °¢°¢ ÀÚ½ÅÀÇ ¸¶Å©¸¦ °¡Áö°í ÀÖ´Ù. `C-y' (`yank') ¿Í `M-x insert-buffer' ¿Í °°ÀÌ ÅؽºÆ®¸¦ »ðÀÔÇÏ´Â ¸¹Àº ¸í·ÉµéÀº ¸¶Å©¸¦ »ðÀԵǴ ÅؽºÆ®ÀÇ ÇÑ ³¡¿¡ À§Ä¡½ÃÅ°°í ´Ù¸¥ ÇÑ ³¡¿¡ Æ÷ÀÎÆ®¸¦ À§Ä¡½ÃŲ´Ù. µû¶ó¼, ¿µ¿ªÀº ¹Ù·Î »ðÀÔµÈ ÅؽºÆ®°¡ µÈ´Ù. ¿µ¿ªÀ» ¼³Á¤ÇÏ´Â °Í°ú´Â º°°³·Î ¸¶Å©´Â µÇµ¹¾Æ°¥ À§Ä¡¸¦ ¼³Á¤Çϴ´ë·Î À¯¿ëÇÏ´Ù. ÀÌ°ÍÀ» Á»´õ À¯¿ëÇÏ°ÔÇϱâ À§ÇØ Emacs ´Â 16°³ÀÇ ÀÌÀü ¸¶Å© À§Ä¡¸¦ `mark ring' ¿¡ ±â¾ïÇÑ´Ù.
À§ÀÇ ¸í·ÉµéÀ» ¸ÕÀú ±â¾ïÇÏ´Â °ÍÀÌ ÁÁÀ» °Í °°´Ù.
±× ¿Ü¿¡ `M-<' ¿Í °°ÀÌ ¸Ö¸® À̵¿ÇÏ´Â ¸í·ÉÀÇ °æ¿ì¿¡ À̵¿Çϱâ ÀÌÀüÀÇ Æ÷ÀÎÆ® À§Ä¡¿¡ ¸¶Å©°¡ µÈ´Ù. ÀÌ °æ¿ì¿¡ echo area ¿¡ ``Mark set'' À̶ó´Â ¸Þ½ÃÁö°¡ ³ª¿Â´Ù. ÀÌÁ¦ ¸¶Å©¸¦ µ¹¾Æ°¥ À§Ä¡¸¦ ±â¾ïÇϴµ¥ ÀÌ¿ëÇغ¸ÀÚ. Emacs ´Â ÀÌÀü 16°³ ¸¶Å©ÀÇ À§Ä¡¸¦ ``mark ring''¿¡ ±â¾ïÇÑ´Ù. ¸¶Å©¸¦ ÁöÁ¤ÇÏ´Â ´ëºÎºÐÀÇ ¸í·ÉÀº ÀÌÀüÀÇ ¸¶Å©¸¦ ÀÌ ``mark ring'' ¿¡ push ÇÑ´Ù. (½±°Ô¸»Çؼ ±â¾ïÇÑ´Ù.) ÀÌÁ¦ ¸¶Å©µÈ À§Ä¡·Î ã¾Æ°¡´Â ¸í·É¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ. `C-u C-SPC' ȤÀº `C-u C-@' Æ÷ÀÎÆ®¸¦ ¸¶Å© À§Ä¡·Î ¿Å±â°í ring ÀÇ ÀÌÀü ¸¶Å© À§Ä¡·Î ¸¶Å©¸¦ ¿Å±ä´Ù. ¸Ö¸® À̵¿ÇÏ´Â ¸í·ÉÀº À̵¿Çϱâ ÀüÀÇ À§Ä¡¿¡ ¸¶Å©¸¦ ÇÔÀ¸·Î µÇµ¹¾Æ °¡´Â °ÍÀ» ½±°Ô ¸¸µç´Ù. º¯¼ö `mark-ring -max' ´Â mark ring ÀÌ ±â¾ïÇÏ´Â ÃÖ´ë ¸¶Å©ÀÇ °¹¼ö¸¦ ³ªÅ¸³½´Ù. Deletion and Killing¹öÆ۷κÎÅÍ ÅؽºÆ®¸¦ Áö¿ì´Â ´ëºÎºÐÀÇ ¸í·ÉÀº ¸¶À½ÀÌ ¹Ù²î¾úÀ» ¶§ ´Ù½Ã µ¹¸®°Å³ª ¿Å±â°Å³ª º¹»çÇϱâ À§ÇØ ±×°ÍµéÀ» ÀúÀåÇÑ´Ù. ÀÌ·± ¸í·ÉµéÀº ``kill'' ¸í·ÉÀ̶ó ¾Ë·ÁÁ®ÀÖ´Ù. Áö¿öÁö´Â ÅؽºÆ®¸¦ ÀúÀåÇÏÁö ¾Ê´Â ¸í·ÉµéÀº ``delete'' ¸í·ÉÀ̶ó ¾Ë·ÁÁ®ÀÖ´Ù. (ÀÌÇÏ kill Àº »èÁ¦, delete ´Â Á¦°Å¶ó ±¸ºÐÇÏ°Ú´Ù.) Á¦°Å ¸í·ÉÀº ÇÑ ±ÛÀÚ¸¸ Áö¿ì´Â ¸í·ÉÀ̳ª, space ³ª newline ¸¸À» Áö¿ì´Â ¸í·ÉµéÀÌ Æ÷ÇԵȴÙ. ½Ç¼ö·Î ±ÛÀ» »èÁ¦, ȤÀº Á¦°ÅÇßÀ» °æ¿ì¿¡´Â `C-x u' (`undo') ¸í·ÉÀ» »ç¿ëÇؼ Ãë¼ÒÇÒ ¼ö ÀÖ´Ù. Á¦°Å
»èÁ¦ ¸í·É
ºÙÀ̱â (Yanking)
`C-y', `M-y' ¸í·É¸¸ Àá½Ã »ìÆ캸ÀÚ. ¿¹¸¦ µé¾î A-B-C-D ³×°³ÀÇ ¹®´ÜÀ» °¡Áö´Â ±Û¿¡¼ B ¹®´ÜÀ» »èÁ¦(kill) Çß´Ù°í °¡Á¤Çغ¸ÀÚ. ÀÌÁ¦ A-C-D ¿Í °°Àº ±ÛÀÌ µÉ °ÍÀÌ´Ù. ÀÌÁ¦ C, D ¹®´ÜÀÇ ¼ø¼¸¦ ¹Ù²Ù°í ½Í´Ù. ±×·¯¸é C¸¦ »èÁ¦ÇÏ°í, DÀÇ ³¡¿¡¼ `C-y' ¸¦ ´©¸£¸é µÈ´Ù. ÀÌÁ¦ ±ÛÀº A-D-CÀÇ ±¸Á¶¸¦ °¡Áö°Ô µÈ´Ù. ±×·±µ¥, ±×·¸°Ô ÇÏ°í³ª´Ï BÀÇ ³»¿ëÀ» A ¾Õ¿¡ ³õ°í ½Í¾îÁ³´Ù. ±×·¯¸é, A ÀÇ ¾Õ¿¡°¡¼ `C-y'¸¦ ´©¸¥´Ù. ±×·¯¸é, C°¡ »ðÀ﵃ °ÍÀÌ´Ù. ÀÌ ¶§, `M-y' ¸¦ ´©¸£¸é, CÀÇ ³»¿ëÀÌ »ðÀÔµÈ ÀÚ¸®¿¡ BÀÇ ³»¿ëÀÌ µé¾î°¥ °ÍÀÌ´Ù. `M-y' (`yangk-pop') ¸í·ÉÀº `C-y' ȤÀº, ±×¿¡ ÀÌÀº `M-y' ¸í·É µÚ¿¡¼¸¸ µ¿ÀÛÇÑ´Ù. Áï, `C-y' ¸¦ ´©¸£¸é °¡Àå ÃÖ±Ù¿¡ »èÁ¦µÈ ³»¿ëÀÌ »ðÀԵǰí, 'M-y'¸¦ ´©¸¦ ¶§¸¶´Ù, ±× ÀÌÀü¿¡ »èÁ¦µÈ ³»¿ëÀ¸·Î ¹Ù²î¾î »ðÀԵǴ °ÍÀÌ´Ù. ÀÌ·¸µí »èÁ¦µÇ´Â ³»¿ëÀº "kill ring" ¿¡ ÀúÀåµÇ´Âµ¥, ÀúÀåµÇ´Â »èÁ¦µÈ ÅؽºÆ®ÀÇ ÃÖ´ë °¹¼ö´Â kill-ring-max ¶ó´Â º¯¼ö¿¡ ÀúÀåµÈ´Ù. º¸Åë ±âº»°ªÀº 30ÀÌ´Ù. ¸¸ÀÏ `M-y' ¸¦ ¸î¹ø ´·¯¾ß ¿øÇÏ´Â ±ÛÀÌ ³ª¿ÃÁö ¾Ë°í ÀÖ´Ù¸é, `C-y' ¿¡ ¼ýÀÚ Àμö¸¦ ÁÖ¾î¼ ¹Ù·Î ²¨³»¿Ã ¼ö ÀÖ´Ù. ¿¹·Î `C-u 2 C-y' ´Â `C-y M-y'¿Í °°´Ù. Á÷»ç°¢ÇüÁ÷»ç°¢Çü ¿µ¿ªÀ» ´Ù·ç´Â ¸í·ÉµéÀ» »ìÆ캸ÀÚ. Á÷»ç°¢ÇüÀ» ¿µ¿ªÀ» ¼³Á¤ÇÏ´Â °ÍÀº º¸Åë ¿µ¿ªÀ» ¼³Á¤ÇÏ´Â °Í°ú ºñ½ÁÇÏ´Ù. ÇÑÂÊ ³¡¿¡ Æ÷ÀÎÆ®, ÇÑÂÊ ³¡¿¡ ¸¶Å©¸¦ À§Ä¡ ½ÃÅ°¸é µÈ´Ù.
µî·ÏºÎ(Registers)Emacs ``µî·ÏºÎ'' ´Â ÅؽºÆ®³ª À§Ä¡¸¦ ´ÙÀ½ »ç¿ëÀ» À§ÇØ ÀúÀåÇÏ´Â Àå¼ÒÀÌ´Ù. µî·ÏµÈ ÅؽºÆ®´Â ¹öÆÛ¿¡ ¿øÇÏ´Â ¸¸Å º¹»çµÉ ¼ö ÀÖ´Ù; À§Ä¡´Â ´ÙÀ½¿¡ ±× À§Ä¡·Î µ¹¾Æ¿À±â À§ÇØ µî·ÏÇÒ ¼ö ÀÖ´Ù. Á÷»ç°¢Çü ¿µ¿ªµéµµ µî·ÏºÎ¿¡ µî·ÏµÉ ¼ö ÀÖ´Ù. °¢ µî·ÏºÎµéÀº ÇÑ ¹®ÀÚ·Î µÈ À̸§À» °¡Áö°í ÀÖ´Ù. °¢°¢ÀÇ µî·ÏºÎ´Â ÇϳªÀÇ ÅؽºÆ®³ª À§Ä¡, ȤÀº Á÷»ç°¢Çü ¿µ¿ªÀ» ÀúÀåÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸, ÇÑ µî·ÏºÎ¿¡´Â ÇÑ ½ÃÁ¡¿¡ ÇÑ°¡Áö¸¸ ÀúÀåÇÒ ¼ö ÀÖ´Ù. µî·ÏºÎ¿¡ ¹«¾ùÀ» µî·ÏÇϵçÁö ±×°ÍµéÀº µî·ÏºÎ¿¡ ´Ù¸¥°ÍÀ» ÀúÀåÇÒ ¶§±îÁö º¸Á¸µÈ´Ù.
Á¡ÁøÀû Ž»ö(Incremental Search)Á¡ÁøÀû Ž»öÀº ã´Â ¹®ÀÚ¿ÀÇ Ã¹¹ø° ¹®ÀÚ¸¦ Ä¡¸é ½ÃÀ۵ȴÙ. ã´Â ¹®ÀÚ¿À» ÀÔ·ÂÇÔ¿¡µû¶ó À̸·½º´Â ¹®ÀÚ¿ÀÌ ÀÖÀ»¸¸ÇÑ °÷À» º¸¿©ÁØ´Ù. ¸¸ÀÏ Ã£°íÀÚ ÇÏ´Â À§Ä¡¸¦ ÆǺ°Çϱ⿡ ÃæºÐÇÑ ¹®ÀÚ¿À» ÀÔ·ÂÇß´Ù¸é, ¸ØÃâ ¼ö ÀÖ´Ù.
¸¸ÀÏ Å½»ö¹®ÀÚ¿À» ÀÔ·ÂÇϴµ¥ ½Ç¼ö¸¦ Çß´Ù¸é, DELÅ°¸¦ ÀÌ¿ëÇÏ¿© ¹®ÀÚµéÀ» Áö¿ï ¼ö ÀÖ´Ù. ¸¸ÀÏ ¿øÇÏ´Â À§Ä¡¿¡ µµ´ÞÇß´Ù¸é ESC¸¦ ´·¯¼ Ž»öÀ» ¸ØÃß°í ±× À§Ä¡·Î °¥ ¼ö ÀÖ´Ù. Ž»ö¿¡ °ü°è¾ø´Â ¸í·ÉÀ» ÀÔ·ÂÇÒ °æ¿ì¿¡´Â ±× À§Ä¡¿¡ Ä¿¼¸¦ ¸ØÃß°í ±× ¸í·ÉÀ» ½ÇÇàÇÑ´Ù. ¿¹¸¦ µé¾î `C-a'¸¦ ÀÔ·ÂÇϸé Ä¿¼°¡ ÀÖ´ø ÁÙÀÇ ¾ÕÀ¸·Î À̵¿ÇÑ´Ù. ¸¸ÀÏ ´ÙÀ½ ¸í·ÉÀÌ ¹®ÀÚÀÔ·ÂÀ̳ª, DEL, ESC ³ª Ž»ö¿¡ Àǹ̰¡ Àִ Ưº°ÇÑ Á¦¾î ¸í·É(`C-q', `C-w', `C-r', `C-s', `C-y' µî)ÀÏ °æ¿ì ESC¸¦ ´©¸£´Â °ÍÀº ÇʼöÀûÀÌ´Ù. ¶§¶§·Î ã°íÀÚ ÇÏ´Â ¹®ÀÚ¿ÀÌ ¿©·¯±ºµ¥ Á¸ÀçÇÏ°í óÀ½¿¡ ãÀº À§Ä¡°¡ ¿øÇÏ´Â À§Ä¡°¡ ¾Æ´Ò °æ¿ì, `C-s'¸¦ Çѹø ´õ ´·¯¼ ´ÙÀ½ÀÇ ±× ¹®ÀÚ¿ÀÌ ÀÖ´Â À§Ä¡·Î À̵¿ÇÒ ¼ö ÀÖ´Ù. ¸¸ÀÏ `C-s'¸¦ ³Ê¹« ´·¯¼ ¿øÇÏ´Â À§Ä¡¸¦ Áö³ªÃÆÀ» °æ¿ì¿¡´Â DEL·Î `C-s'µéÀ» Ãë¼ÒÇÒ ¼ö ÀÖ´Ù. Ž»öÀ» ¸ØÃáÈÄ, °°Àº ¹®ÀÚ¿À» ¶Ç ã°í ½ÍÀ» °æ¿ì¿¡´Â `C-s C-s'¸¦ ´©¸£¸é µÈ´Ù. ù¹ø° `C-s'´Â Á¡ÁøÀû Ž»öÀ» ½ÃÀÛÇÏ´Â °ÍÀÌ°í, µÎ¹ø° `C-s'´Â ``Àç Ž»ö''À» ÀǹÌÇÑ´Ù. ¸¸ÀÏ Å½»ö¹®ÀÚ¿À» ãÀ» ¼ö ¾ø´Â °æ¿ì, ¿¡ÄÚ¿µ¿ª¿¡ `Failing I-Search' ¶ó°í ¾º¿©Áø´Ù. Ä¿¼´Â Ž»ö ½ÇÆÐ ÀÌÀüÀÇ À§Ä¡¿¡ ¸Ó¹°·¯ Àִ´Ù. ¿¹·Î`FOOT'À» ã´Âµ¥ `FOOT'Àº ¾ø°í `FOOL'ÀÌ ÀÖ´Ù¸é, Ä¿¼´Â `FOOL'ÀÇ FOOµÚ¿¡ À§Ä¡ÇÑ´Ù. ÀÌ °æ¿ì¿¡ ÇÒ ¼ö ÀÖ´Â ÀÏÀº ¿©·¯°¡Áö°¡ ÀÖ´Ù. ¸¸ÀÏ Ã£°íÀÚ ÇÏ´Â ¹®ÀÚ¿À» À߸ø ÀÔ·ÂÇß´Ù¸é Ž»ö¹®ÀÚ¿À» ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù. ¾Æ´Ï¸é ±× À§Ä¡¿¡¼ Ž»öÀ» ¸ØÃß±â À§ÇØ ESC³ª ±âŸ ¸í·ÉÀ» ³»¸± ¼ö ÀÖ´Ù. ¾Æ´Ï¸é, `C-g'¸¦ ´·¯¼ ãÀ» ¼ö ¾ø´Â ¹®ÀÚµéÀ» ¾ø¾Ù ¼ö ÀÖ´Ù. À§ÀÇ ¿¹¿¡¼´Â `FOOT'ÀÇ `T'°¡ µÈ´Ù. ±×¸®°í Ž»ö¹®ÀÚ¿Àº `FOO'°¡ µÈ´Ù. ±×¸®°í `C-g'¸¦ µÎ¹ø° ´©¸£¸é Ž»öÀº Ãë¼Ò°¡ µÇ°í, Ä¿¼´Â Ž»öÀ» ½ÃÀÛÇß´ø À§Ä¡·Î µÇµ¹¾Æ°£´Ù. Ž»öÀÌ ½ÇÆÐÇßÀ» °æ¿ì¿¡ `C-s'¸¦ ´©¸£¸é, ¹öÆÛÀÇ ½ÃÀÛ¿¡¼ºÎÅÍ ´Ù½Ã Ž»öÀ» ½ÃÀÛÇÑ´Ù. `C-r'À» °è¼Ó ´·¯¼ µÞÂÊÀ¸·Î Ž»ö¿¡Çϴµ¥ ½ÇÆÐÇÑ °æ¿ì¿¡ `C-r'À» ´©¸£¸é ¹öÆÛÀÇ ³¡¿¡¼ ºÎÅÍ ´Ù½Ã Ž»öÀ» ½ÃÀÛÇÑ´Ù. ÀÌ°ÍÀº ``wrapping aroun'' ¶ó°í ºÒ¸®¿ì°í, `Wrapped'¶ó°í Ç¥½ÃµÈ´Ù. `C-s', DEL, ESC °°Àº Á¦¾î¹®ÀÚ¸¦ Ž»öÇÏ·Á¸é `C-q'¸¦ ¸ÕÀú ÃľßÇÑ´Ù. ÀÌ°ÍÀº ´ÙÀ½ÀÇ ¹®ÀÚ¸¦ Ž»ö¹®ÀÚ¿ÀÇ ÀϺηΠ°£ÁÖÇÏ°Ô ¸¸µç´Ù. Ž»öÀ» µÞÂÊÀ¸·Î ÇÏ·Á¸é, `C-r'À» ´©¸£¸é µÈ´Ù. ¸¶Âù°¡Áö·Î Ž»ö¹æÇâÀ» ´Ù½Ã ¾ÕÂÊÀ¸·Î ÇÏ·Á¸é, `C-s'¸¦ ´©¸£¸é µÈ´Ù. óÀ½ºÎÅÍ µÞÂÊÀ¸·Î Ž»öÀ» ÇÏ·Á¸é óÀ½¿¡ `C-r'À» ´·¯¼ Ž»öÀ» ½ÃÀÛÇÒ ¼ö ÀÖ´Ù. Á¡ÁøÀû Ž»ö¿¡¼ `C-y' ¿Í `C-w' ´Â ¹öÆÛÀÇ ÅؽºÆ®¸¦ Ž»ö¹®ÀÚ¿·Î Àâ¾Æ¿À´Âµ¥ »ç¿ëµÈ´Ù. `C-w'´Â ÇöÀç Æ÷ÀÎÆ® ÀÌÈÄÀÇ ´Ü¾îºÎºÐÀ» Ž»ö¹®ÀÚ¿·Î º¹»çÇØ ¿Â´Ù. `C-y'´Â ÇöÀçÀÇ ´Ü¾î Àüü¸¦ Ž»ö¹®ÀÚ¿·Î º¹»çÇØ ¿Â´Ù. (¹«½¼¸»ÀÎÁö Àß ¸ð¸£°ÚÀ» ¶§´Â Á÷Á¢ Çغ¸¸é µÈ´Ù.) Á¡ÁøÀû Ž»ö¿¡¼ »ç¿ëµÇ´Â Ư¼ö¹®ÀÚµéÀº ´ÙÀ½ÀÇ º¯¼öµéÀ» ¼öÁ¤Çؼ ¹Ù²Ü ¼öÀÖ´Ù.
(* º¯¼ö °ªÀ» ¹Ù²Ù´Â ¸í·É : `M-x set-variable') ºñÁ¡ÁøÀû Ž»ö(Nonincremental Search)Emacs ´Â ¶ÇÇÑ Å½»ö ¹®ÀÚ¿À» ¸ðµÎ ÀÔ·ÂÇÑ µÚ¿¡ Ž»öÀ» ½ÃÀÛÇÏ´Â ÀüÅëÀûÀÎ ºñÁ¡ÁøÀû Ž»ö¹æ¹ýÀ» Á¦°øÇÑ´Ù.
´Ü¾î Ž»ö(Word Search)´Ü¾î Ž»öÀº ´Ü¾îµéÀÇ ¿¬¼ÓÀ» ´Ü¾îµéÀÌ ¾î¶»°Ô ºÐ¸®µÇ¾î Àִ°¡¿¡ °ü°è¾øÀÌ Å½»öÀ» ÇÑ´Ù. Á» ´õ Á¤È®È÷ ¸»Çϸé, ´Ü¾îµéÀ» ÇϳªÀÇ °ø°£(space)À» ÀÌ¿ëÇÏ¿© ºÐ¸®Çϸé, ´Ü¾î »çÀÌ¿¡ ¿©·¯°³ÀÇ °ø°£ÀÌ Àְųª, »õÁÙ(newline)ÀÌ Àְųª ¸¶Ä§Ç¥°¡ Àְųª ´Ù ã¾Æ ÁØ´Ù.
ºñÁ¡ÁøÀû Ž»öÀ̳ª ´Ü¾î Ž»öÀº °¢°¢ `search-forward' ¿Í `search-backward', `word-search- forward' ¿Í `word-search-backward' ·Î ±¸ÇöµÇ¾î ÀÖ´Ù. À̵éÀº »õ·Î¿î Å°¿¡ ¹ÙÀεù µÉ ¼öµµ ÀÖÁö¸¸, Á¡ÁøÀû Ž»öÀÌ À̵éÀ» ºÎ¸¦ ¼ö ÀÖµµ·Ï ¸¸µé¾îÁ®Àֱ⠶§¹®¿¡ À§¿Í °°Àº Å° ¿¬¼ÓÀÌ Emacs ¿¡¼ À̵éÀ» ºÎ¸£´Â ÀϹÝÀûÀÎ ¹æ¹ýÀÌ´Ù. Á¤±Ô½Ä Ž»ö(Regular Expression Search)ÀÌ°ÍÀº Á¡Á÷ÀûÀ¸·Î ÇÒ ¼öµµ ÀÖ°í, ºñ Á¡ÁøÀûÀ¸·Î ÇÒ ¼öµµ ÀÖ´Ù. Á¡ÁøÀû Ž»öÀº `C-M-s' (`isearch-forward-regexp') ¸¦ ´©¸£¸é ºÒ·ÁÁø´Ù. ÀÌ ¸í·ÉÀº `C-s' ó·³ Á¤±Ô½ÄÀ» Á¡ÁøÀûÀ¸·Î ¹Þ¾ÆµéÀÌÁö¸¸, Á¤È®È÷ ÀÏÄ¡Çϴ ǥÇöÀ» ã´Â °ÍÀÌ ¾Æ´Ï¶ó, Ž»ö ¹®ÀÚ¿À» Á¤±Ô½ÄÀ¸·Î °£ÁÖÇÑ´Ù. `isearch-backward-regexp' ¸í·Éµµ Á¸ÀçÇÏÁö¸¸, ¾î¶² Å°¿¡ ¹ÙÀεù µÇ¾î ÀÖÁö´Â ¾Ê´Ù. ÀϹÝÀûÀÎ Á¡ÁøÀû Ž»ö¿¡¼ Àû¿ëµÇ´Â Á¦¾î¹®ÀÚµéÀÌ ¿©±â¿¡µµ Àû¿ëµÈ´Ù. ºñÁ¡ÁøÀû Á¤±Ô½Ä Ž»öÀº `re-search-forward' ¿Í `re-search-backward' ÇÔ¼ö·Î ±¸ÇöµÇ¾î ÀÖ´Ù. ÀÌ ÇÔ¼öµéÀº `M-x'¸¦ ÀÌ¿ëÇϰųª, ¾î¶² Å°¿¡ ¹ÙÀεùÇϰųª ÇÏ´Â ¹æ¹ýÀ¸·Î ºÎ¸¦ ¼ö ÀÖ´Ù. ¾Æ´Ï¸é, `C-M-s ESC'·Î ºÒ·¯µµ µÈ´Ù. Á¤±Ô½ÄÀÇ Çü½Ä(Syntax of Regular Expressions)Á¤±Ô½ÄÀº ¾à°£ÀÇ Æ¯º°ÇÑ ±âÈ£¸¦ °¡Áö°í ÀÖ°í ³ª¸ÓÁö´Â ÀÏ¹Ý ¹®ÀÚ·Î Ãë±ÞµÈ´Ù. ÀÏ¹Ý ¹®ÀÚ´Â ´Ü¼øÈ÷ ±× ¹®ÀÚ¿Í ÀÏÄ¡ ¿©ºÎ¸¦ ÆÇÁ¤ÇÏ´Â °£´ÜÇÑ Á¤±Ô½ÄÀÌ´Ù. Ư¼ö ¹®ÀÚ´Â `$', `^', `.', `*', `+', `?', `[', `]' , `\' ÀÌ´Ù. Á¤±Ô½Ä¿¡ ³ªÅ¸³ª´Â ´Ù¸¥ ¹®ÀÚ´Â, `\'°¡ ¾Õ¿¡ ÀÖ´Â °æ¿ì¸¦ Á¦¿ÜÇÏ°í´Â ÀÏ¹Ý ¹®ÀÚÀÌ´Ù.
ÁÖ: Ư¼ö¹®ÀÚµéÀº ±×µéÀÇ Æ¯º°ÇÑ Àǹ̰¡ Àǹ̰¡ ¾ø´Â À§Ä¡¿¡¼´Â ÀÏ¹Ý ¹®ÀÚ·Î Ãë±ÞµÈ´Ù. ¿¹·Î, `*foo' ÀÇ `*'´Â ÀÏ¹Ý ¹®ÀÚ·Î Ãë±ÞµÈ´Ù. ±×·¯³ª ÀÌ·¯ÇÑ ¾ç»óÀ» ÀÌ¿ëÇÏ´Â °ÍÀº ÁÁÀº ½À°üÀÌ ¾Æ´Ï´Ù. `\'±¸¹® Ç¥´Â ´ÙÀ½°ú °°´Ù.
´ÙÀ½Àº Lisp ¹®¹ý¿¡¼ »ç¿ëµÈ º¹ÀâÇÑ Á¤±Ô½ÄÀÇ ÇÑ ¿¹ÀÌ´Ù. Lisp ¹®¹ý¿¡¼ ¹®ÀÚ¿Àº Å«µû¿ÈÇ¥(``)·Î ½ÃÀÛÇؼ Å«µû¿ÈÇ¥·Î ³¡³´Ù. `\'''´Â Á¤±Ô½ÄÀÇ ºÎºÐÀ¸·Î½áÀÇ Å«µû¿ÈÇ¥¸¦, `\\'´Â Á¤±Ô½ÄÀÇ ºÎºÐÀ¸·Î½áÀÇ ¿ª½½·¡½¬¸¦, `\t'´Â Åܹ®ÀÚ¸¦, `\n'Àº »õÁÙ¹®ÀÚ¸¦ ÀǹÌÇÑ´Ù.
ÀÌ°ÍÀº ³×ºÎºÐÀ¸·Î ³ª´©¾îÁ® ÀÖ´Ù: `.'(¸¶Ä§Ç¥)³ª, `?', `!'¿Í ÀÏÄ¡ÇÏ´Â ¹®ÀÚÁýÇÕ; `]', `"'(Å«µû¿ÈÇ¥), `''(ÀÛÀºµû¿ÈÇ¥), `)' ¹®ÀÚÁýÇÕÀÌ ¸î¹øÀÌ°í ¹Ýº¹µÇ´Â ºÎºÐ; ÁÙÀÇ ³¡À̰ųª ÅÜÀ̰ųª µÎ°³ÀÇ ½ºÆäÀ̽º¿Í ÀÏÄ¡ÇÏ´Â ºÎºÐ; ½ºÆäÀ̽º³ª ÅÜ, »õÁÙµîÀÇ ÈÀÌÆ®½ºÆäÀ̽º¹®ÀÚ°¡ ¸î¹øÀÌ°í ¹Ýº¹µÇ´Â ºÎºÐ. À§ÀÇ ¿¹´Â Emacs Lisp ÇÁ·Î±×·¥¿¡¼ Á¤±Ô½ÄÀ» ¾î¶»°Ô »ç¿ëÇÒ °ÍÀÌ°¡¿¡ ´ëÇÑ ¿¹ÀÌ°í, `re-search-forward' µîÀÇ ¸í·ÉÀ» ÅëÇÏ¿© Á¤±Ô½ÄÀ» ÀÔ·ÂÇÒ °æ¿ì¿¡´Â Á» ´Ù¸£°Ô Ç¥½ÃÇؾßÇÑ´Ù.
3. À̸ƽº 20.2 À̻󿡼 ÇÑ±Û »ç¿ëÇϱâ±Û¾´ÀÌ: õ¸®¾È ¸®´ª½º µ¿È£È¸ ȸ¿ø ¼Û»ó¿ø´Ô ±Û²ÃÀ» °íÄ¡±â À§Çؼ ÀÏ´Ü su °¡ µÈ ´ÙÀ½, ``/usr/X11R6/lib/X11/app-defaults'' ·Î µð·ºÅ丮¸¦ ¿Å±ä´Ù. °Å±â¿¡ º¸¸é ``Emacs'' ¶ó´Â ÈÀÏÀÌ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ÈÀÏÀº ¸ðµç »ç¿ëÀÚµéÀÌ À̸ƽº¸¦ ½ÇÇà½Ãų¶§ ÇÁ·Î±×·¥ÀÌ Àд ÈÀÏÀÌ´Ù. ÀÌ ``Emacs'' ÈÀÏÀ» ¿¾îº¸¸é
À§¿Í °°Àº °ÍÀÌ ÀÖÀ» °ÍÀÌ´Ù. ùÁÙÀº À̸ƽº°¡ »ç¿ëÇÒ ÆùÆ®¼ÂÀ» ÁöÁ¤ÇÏ´Â °ÍÀÌ°í, ³ª¸ÓÁö ¾Æ·¡ 6ÁÙÀº »ç¿ë°¡´ÉÇÑ °¢°¢ÀÇ ÆùÆ®¼ÂµéÀ» ¼ÂÆÃÇØ ³õÀº°ÍÀÌ´Ù. À§ÀÇ ¿¹´Â À̸ƽº°¡ ``fontset-16'' À» ¾´´Ù. À§ÀÇ ³»¿ëÀ» ÁÖ¼®Ã³¸®(!) ³»Áö´Â »èÁ¦¸¦ ÇÏ°í, ´ÙÀ½°ú °°ÀÌ °íÄ£´Ù.
À§ÀÇ ¿¹´Â ¸íÁ¶Ã¼¿Í °íµñüÀÇ ÆùÆ®¼ÂÀ» ¸¸µé¾ú°í, ±×Áß ¸íÁ¶Ã¼¸¦ À̸ƽº¿¡ »ç¿ëÇÑ °æ¿ìÀÌ´Ù. ¹°·Ð, ÀÚ½ÅÀÌ ¿øÇÑ´Ù¸é Fontset À» ¾ó¸¶µçÁö ´õ ¸¸µé¼ö°¡ ÀÖ´Ù. À§¿Í °°ÀÌ ÀÚ½ÅÀÌ ÁÁ¾ÆÇÏ´Â ±ÛÀÚü·Î ÇѱÛÆùÆ®¸¦ ¹Ù²Ù°í ÀúÀåÇÑ ÈÄ, À̸ƽº¸¦ ½ÇÇà½ÃÅ°¸é ¹Ù·Î ±ÛÀÚü°¡ ¹Ù²î¾î ½ÇÇàµÈ´Ù. À̶§ ÁÖÀÇÇÒ Á¡Àº ÆùÆ®ÀÇ Á¾·ù¿¡ µû¶ó À̸ƽº¿¡¼ Á¦´ë·Î ³ª¿ÀÁö ¾Ê´Â ÆùÆ®µéÀÌ ÀÖÀ¸´Ï, È®ÀÎÀ» ÇØ º¼°Í. 4. Çǵå¹é¾Æ·¡ÀÇ ³»¿ëÀº ¼öÁ¤À̳ª °³Á¤ÀÌ ÇÊ¿äÇÏÁö ¾ÊÀ»±î ½Í½À´Ï´Ù. --CN ½ÇÁ¦¿Í ´Ù¸¥ ¹ÙÀεù
Á¸ÀçÇÏÁö ¾Ê´Â ¹ÙÀεù
|
Might as well be frank, monsieur. It would take a miracle to get you out of Casablanca. |