vi, vim È°¿ë... ÃÖÁ¾ ¼öÁ¤ÀÏ : 7.10 1999 ÀÛ¼ºÀÚ : ¼º½Ãâ (nu11@kldp.org) Â÷·Ê 1. vi, vim ¼Ò°³ 2. ±âº»ÀûÀÎ ÆíÁý, ¸í·É 2.1 ÆíÁý 2.1.1 º¹»ç, ºÙÀ̱â 2.1.2 Named ¹öÆÛ »ç¿ë 2.1.3 ¿©·¯ ¹®¼­ÀÇ ÆíÁý 2.2 À̵¿ 2.2.1 ªÀº À̵¿ 2.2.2 ¿ø°Å¸® À̵¿ 2.2.3 ã±â·Î À̵¿ 2.2.4 ¸¶Å©¸¦ ÀÌ¿ëÇÑ À̵¿ 2.3 È­ÀÏ ÀúÀå, ¿­±â 2.4 Á¤¸® ¹× ¿¬½À¹®Á¦ 3. ã±â, ġȯ 3.1 Á¤±ÔÇ¥Çö½Ä 3.2 ã±â 3.3 ġȯ 3.4 Á¤¸® ¹× ¿¬½À¹®Á¦ 4. The Power of ex 4.1 abbreviations 4.2 map 4.3 @-function 4.4 shell commandÀÌ¿ë 4.5 set, Àڽſ¡ ¸Â´Â vi ¸¸µé±â 4.6 Á¤¸® ¹× ¿¬½À¹®Á¦ 6. vim¿¡ Ãß°¡µÈ ±â´Éµé 6.1 multi-window 6.2 È®Àå Á¤±ÔÇ¥Çö½Ä 6.3 visual mode 6.4 tag stack 6.5 ÇÁ·Î±×·¡¹ÖÀ» À§ÇÑ ¸í·Éµé 6.6 Á¤¸® ¹× ¿¬½À¹®Á¦ 7. ±âŸ À©µµ¿ìÅ° ¸ÅÇÎÇϱâ bash¿¡¼­ vi¸ðµå·Î »ç¿ëÇϱâ csh¿¡¼­ vi¸ðµå·Î »ç¿ëÇϱâ 1. vi, vim vi´Â ÅؽºÆ® ¹®¼­¸¦ ÆíÁýÇϴµ¥ »ç¿ëµÇ´Â ÅؽºÆ® ÆíÁý±âÀÔ´Ï´Ù. ¸¹Àº Á¾·ùÀÇ OS»ó¿¡¼­ µ¿ÀÛÇÏ´Â vi°¡ °³¹ßµÇ¾î ÀÖÀ¸¸ç, ƯÈ÷ unix°è¿­ÀÇ OS¿¡¼­´Â °ÅÀÇ ¸ðµç ½Ã½º ÅÛ¿¡¼­ ±âº» ÅؽºÆ® ¿¡µðÅÍ·Î »ç¿ëµÇ°í ÀÖÁÒ. vimÀº Vi IMproved·Î½á ¸» ±×´ë·Î vi¿¡ unlimited undo, syntax coloring, split windows, visual selection, gui support µîÀÇ ±â´ÉÀÌ º¸°­µÈ vi cloneÀÔ´Ï´Ù. vim¿¡ °ü·ÃµÈ Àڷᳪ °¢ OSº° ¹ÙÀ̳ʸ®, ¼Ò½º´Â www.vim.org¿¡¼­ ã¾Æº¸½Ã±â ¹Ù¶ø´Ï´Ù. 2. ±âº»ÀûÀÎ ÆíÁý, ¸í·É vi´Â Å©°Ô ¼¼ °¡Áö ¸ðµå·Î ³ª´µ¾îÁý´Ï´Ù. ¿ì¼± ¸í·É¸ðµå·Î Å° ÀÔ·ÂÀÌ ¹Ù·Î ¸í·ÉÀÌ µÇ´Â ¸ðµå, ´ÙÀ½Àº ÀԷ¸ðµå·Î ½ÇÁ¦ ¹®¼­¸¦ ÆíÁýÇÏ´Â ¸ðµå, ¸¶Áö¸·À¸·Î ex ¸ð µå·Î ex¸í·ÉÀ» ½ÇÇà½ÃÅ°´Â ¸ðµåÀÔ´Ï´Ù. vi¸¦ ½ÇÇà½ÃÅ°¸é óÀ½¿¡´Â ¸í·É¸ðµå »óÅ¿¡ ÀÖ°Ô µË´Ï´Ù. ¸í·É¸ðµå¿¡¼­ : Å°¸¦ ´©¸£¸é ex¸ðµå·Î, a, i µîÀÇ Å°¸¦ ´©¸£¸é ÀԷ¸ð µå·Î ÀüȯµÇ¾î ¹®¼­¸¦ ÆíÁýÇÒ ¼ö ÀÖ´Â »óÅ·ΠµË´Ï´Ù. º»°ÝÀûÀÎ ³»¿ëÀ¸·Î µé¾î°¡±â Àü¿¡ ±âº»ÀûÀÎ ÆíÁý¿¡ ´ëÇؼ­ ¼³¸íÀ» ÇÏ°Ú½À´Ï ´Ù. ƯÁ¤ ÆÄÀÏÀ» ÆíÁýÇϱâ À§ÇØ ¿­·Á¸é vi [filename]À» shell prompt¿¡¼­ ½ÇÇà½Ãŵ ´Ï´Ù. ÀÌ·¸°Ô ¿¬ ÆÄÀÏÀ» ÆíÁý¸ðµå·Î µé¾î°¡ ÆíÁýÇÏ·Á¸é i¸¦ ÀÔ·Â, ¿øÇÏ´Â ³»¿ëÀ» ÀÔ ·ÂÇÑ ÈÄ Á¾·áÇÏ·Á¸é [ESC]ZZ ³ª [ESC]:wq¸¦ ´©¸£¸é ÀúÀå ÈÄ Á¾·áÇÏ°Ô µË´Ï´Ù. ÀÌ Á¤ µµ´Â ±âº»ÀûÀ¸·Î ¾Ë¾ÆµÎ¼Å¾ß Áö±ÝºÎÅÍ ÇÏ´Â ³»¿ëÀ» µû¶óÇØ º¸½Ç ¼ö ÀÖ°ÚÁÒ? ¶Ç ±âº» ÀûÀ¸·Î ¾Ë¾ÆµÎ¼Å¾ß ÇÒ ¸í·ÉÀÌ ¸í·É¸ðµå¿¡¼­ u Áï undo¸í·ÉÀÔ´Ï´Ù. ±×·¡¾ß À߸ø ½ÇÇà µÈ ¸í·ÉÀ» ¹Ù·Î undoÇÒ ¼ö ÀÖ°ÚÁÒ...^^; +------------------------------------+----------------------------------------+ |ÇöÀçÀ§Ä¡¿¡¼­ »ðÀÔ | i | |ÇöÀçÁÙÀÇ Ã³À½ À§Ä¡¿¡¼­ »ðÀÔ | I | |ÇöÀçÀ§Ä¡¿¡¼­ Ãß°¡ | a | |ÇöÀçÁÙÀÇ ³¡¿¡¼­ Ãß°¡ | A | |»õ·Î¿î ÇÑ ÁÙÀ» Ä¿¼­ ¾Æ·¡ÁÙ¿¡ ¿¬´Ù. | o | |»õ·Î¿î ÇÑ ÁÙÀ» Ä¿¼­ À§ÁÙ¿¡ ¿¬´Ù. | O | |ÁÙÀ» Áö¿ì°í »ðÀÔ¸ðµå·Î | S | |ÇöÀç À§Ä¡¿¡¼­ Relpace ¸ðµå·Î | R | |´ÙÀ½ÁÙ°ú ÇöÀçÁÙÀ» ÇÕÄ£´Ù. | J | |´ë¹®ÀÚ<->¼Ò¹®ÀÚ | ~ | |¸¶Áö¸· ¸í·ÉÀ» ¹Ýº¹ÇÑ´Ù. | . | |¸¶Áö¸· ¼öÁ¤ÇÑ °ÍÀ» Ãë¼ÒÇÑ´Ù. | u (<-> CTRL-R) | |ÁÙÀ» óÀ½ »óÅ·Πº¹±¸ÇÑ´Ù. | U | +------------------------------------+----------------------------------------+ 2.1 ÆíÁý 2.1.1 º¹»ç, ºÙÀ̱â, »èÁ¦ ÅؽºÆ® ÆíÁý±â¸¦ »ç¿ëÇϸ鼭 °¡Àå À¯¿ëÇÑ ±â´É Áß¿¡ Çϳª°¡ ¹Ýº¹µÇ´Â ¹®ÀÚ¿­ À» º¹»çÇؼ­ ´Ù¸¥ °÷¿¡ ºÙÀÌ´Â ±â´ÉÀ̶ó°í »ý°¢ÇÕ´Ï´Ù. vi ¿ª½Ã ÀÌ·¯ÇÑ ±â´ÉÀ» °¡Áö °í ÀÖ°í viÀÇ ¸í·É¾îÀÇ Æ¯¼º»ó ¸Å¿ì ¸¹Àº ¹æ¹ýÀ¸·Î ÀÌ·¯ÇÑ ¸í·ÉÀ» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï ´Ù. ¸í·É¸ðµå¿¡¼­ yy¶ó°í ÀÔ·ÂÇϸé ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ÇÑ ÁÙÀ» Ä«ÇÇ(Yanking)ÇÏ°Ô µË´Ï´Ù. ¶Ç dd´Â ÇöÀç ÇàÀ» »èÁ¦ÇÏ°Ô µÇ´Âµ¥ ÀÌ ¿ª½Ã »èÁ¦°¡ ÀÌ·ç¾îÁö¸é¼­ ¹öÆÛ¿¡ º¹ »ç°¡ µÇ¾îÀÖ½À´Ï´Ù. yy³ª dd·Î ¹öÆÛ¿¡ µé¾î°£ ³»¿ëÀ» ºÙÀÌ·Á¸é ºÙÀÌ°íÀÚ ÇÏ´Â °÷ ÇÑ ÁÙ À§¿¡¼­ p¸¦ ÀÔ·ÂÇÏ¸é µË´Ï´Ù. ÁüÀÛÇϽõíÀÌ yÅ°°¡ º¹»ç¸¦ Çϴµ¥ »ç¿ëµÇ´Â Å°ÀÌ°í d°¡ »èÁ¦¿¡, p°¡ ºÙÀ̱⿡ »ç¿ëµÇ´Â Å°ÀÔ´Ï´Ù. ¸í·É¸ðµå¿¡¼­ »ç¿ëµÇ´Â ¸í·ÉµéÀº ¸í·É ¾Õ¿¡ ¼ýÀÚ¸¦ ÀÔ·ÂÇÑ ÈÄ ¸í·ÉÀ» ³»¸®¸é ±× Ƚ¼ö¸¸Å­ ¸í·ÉÀ» ¹Ýº¹ÇÏ°Ô µË´Ï´Ù. ½±°Ô 2yy ¶ó°í ÀÔ·ÂÇϸé 2ÁÙÀ» º¹»çÇϸ®¶ó´Â °ÍÀ» »ý°¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. µÚ¿¡¼­ ³ª¿À°Ô µÇ ´Â À̵¿¿¡ °ü·ÃµÈ ¸í·É°ú Á¶ÇÕÇÏ¸é º¹»ç³ª »èÁ¦¸¦ ¿øÇÏ´Â ¿µ¿ª¿¡¼­ ÇØ ³¾ ¼ö ÀÖ½À´Ï ´Ù. ¿ì¼± ¿©±â¼­´Â º¹»ç¿¡ »ç¿ëµÇ´Â Å°°¡ yÅ°, »èÁ¦¿¡ »ç¿ëµÇ´Â Å°°¡ d, ºÙÀ̱⿡ »ç ¿ëµÇ´Â Å°°¡ pÅ°¶ó´Â °Í¸¸ ¼÷ÁöÇÏ°í ³Ñ¾î°©½Ã´Ù. Âü ÇÑ°¡Áö ºü¶ß¸®°í ³Ñ¾î°¥ »·Çß±º ¿ä. X ³ª xÅ°°¡ ¸í·É¸ðµå¿¡¼­ »èÁ¦¿¡ »ç¿ëµË´Ï´Ù. ¹®ÀÚ À§¿¡¼­ x¸¦ ´©¸£¸é À§Ä¡ÇÑ ¹® ÀÚ°¡ »èÁ¦µÇ°í X¸¦ ´©¸£¸é [bs]Űó·³ µ¿ÀÛÀ» ÇÕ´Ï´Ù. +------------------------------+---------------+---------------+--------------+ | | copy | delete | yanking | +------------------------------+---------------+---------------+--------------+ |ÇÑ ´Ü¾î | cw | dw | yw | |µÎ ´Ü¾î | 2cw or c2w | 2dw or d2w | 2yw or y2w | |ÇÑ Çà | cc | dd | yy | |Ä¿¼­ À§Ä¡¿¡¼­ ÇàÀÇ ³¡±îÁö | c$ or C | d$ or D | y$ or Y | |Ä¿¼­ À§Ä¡¿¡¼­ ÇàÀÇ Ã³À½±îÁö | c0 | d0 | y0 | |ÇÑ ¹®ÀÚ º¯°æ | r | x or X | y1 or yh | +------------------------------+---------------+---------------+--------------+ 2.1.2 Named ¹öÆÛ »ç¿ë º¸ÅëÀÇ ¿¡µðÅÍÀÇ °æ¿ì¿¡´Â ¾î¶² ƯÁ¤ ¹®ÀÚ¿­À» »õ·Î º¹»çÇϸé ÀÌÀü¿¡ º¹»çÇß ´ø ¹®ÀÚ¿­ÀÌ Áö¿öÁö°Ô µË´Ï´Ù. vi´Â a-z±îÁöÀÇ À̸§À» °®´Â ¹öÆÛ¿¡ °¢°¢À» À¯ÁöÇÏ¿© º¹»çÇØ µÑ ¼ö ÀÖ´Â ¸Å¿ì Æí¸®ÇÑ ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ±â´ÉÀ» named buffer¶ó ÇÏ°í »ç¿ë¹æ¹ýÀº ¸ðµç ¸í·É¸ðµå¿¡¼­ÀÇ ¸í·É ¾Õ¿¡ a~z±îÁöÀÇ ¹öÆÛ¸í "a ~ "zÀ» ºÙ¿©ÁÖ ´Â °ÍÀÔ´Ï´Ù. À§¿¡¼­ º¹»ç¸¦ Çß´ø °ÍÀ» ´Ù½Ã Çغ¸¸é "ayy¸¦ ´©¸£¸é ÇöÀç ÁÙÀÌ "a ¹ö ÆÛ¿¡ º¹»ç°¡ µË´Ï´Ù. ÀÌ°ÍÀ» ´Ù½Ã ºÙÀ̱⸦ ÇÏ·Á¸é "ap¸¦ ÀÔ·ÂÇÏ¸é µÇ°ÚÁö¿ä. ÀÌ¹Ì ÀÖ´Â ¹öÆÛ¿¡ ³»¿ëÀ» Ãß°¡Çϰųª óÀ½ºÎÅÍ ¹öÆÛ¿¡ ½á ³Ö´Â ¹æ¹ýÀ» ¼³¸í ÇÏ°Ú½À´Ï´Ù. ÀÌ¹Ì ¾î¶² ¹öÆÛ¿¡ ³»¿ëÀÌ µé¾î°¡ ÀÖ°í ±× µÚ¿¡ ³»¿ëÀ» Ãß°¡ÇÏ°í ½ÍÀº °æ ¿ì°¡ »ý±âÁÒ. ÀÌ·± °æ¿ì Ãß°¡´Â ¹öÆÛ À̸§ÀÇ ´ë¹®ÀÚ¸¦ »ç¿ëÇÕ´Ï´Ù. "Ayy¿Í °°ÀÌ ÇöÀç ÁÙÀ» ¹öÆÛ¿¡ Ãß°¡Çϰųª, ex¸ðµå¿¡¼­ ƯÁ¤ ¹®ÀÚ¿­ÀÌ ÀÖ´Â ÁÙÀ» ¸ðµÎ º¹»çÇØµÎ°í ½ÍÀº °æ¿ì :g/string/y A ÀÌ·± ½ÄÀ¸·Î »ç¿ëÇÏ´Â °ÍÀÌÁÒ. º¹»çµîÀ» ÇÏÁö ¾Ê°í ¹öÆÛ¿¡ Á÷Á¢ ½á³ÖÀ¸·Á¸é q¸í·ÉÀ» »ç¿ëÇÕ´Ï´Ù. q ´ÙÀ½¿¡ ¹öÆÛ¸íÀ» ´©¸£¸é È­¸éÇÏ´Ü¿¡ recordingÀ̶ó´Â Ç¥½Ã°¡ ³ª¿À°í Áö±ÝºÎÅÍ ÇÏ´Â Å° ÀÔ·Â Àº ¼±ÅÃÇÑ ¹öÆÛ¸í¿¡ µé¾î°¡°Ô µË´Ï´Ù. Å°ÀÔ·ÂÀÌ ³¡³ª¸é ´Ù½Ã q¸¦ ´©¸£¸é µË´Ï´Ù. µÚ¿¡¼­ ex¸ðµå¿¡¼­ »ç¿ëÇÏ´Â ¹æ¹ýÀ̳ª @-function¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¼³¸íÇÏ°Ú½À´Ï´Ù. ¿©±â¼­´Â ÀÌ Á¤µµ¸¸ ¾Ë°í ³Ñ¾î°¡µµ·Ï ÇÏÁÒ. (ÁÖ: vim¿¡¼­´Â register¶ó°í Çϴ±º¿ä.) 2.1.3 ¿©·¯ ¹®¼­ÀÇ ÆíÁý vi¿¡¼­ ¿©·¯ ¹®¼­¸¦ µ¿½Ã¿¡ ¿­±â À§Çؼ­´Â vi [filename1] [filename2]...ÀÇ ÇüÅ·Π¿­°íÀÚ ÇÏ´Â ÆÄÀÏÀ» µÚ¿¡ À̾ ½á ÁÝ´Ï´Ù. ±×·³ µ¿½Ã¿¡ ¿©·¯ ¹®¼­¸¦ ÆíÁýÇÏ °Ô µÇÁÒ. ±×¸®°í °¢ ¹®¼­ »çÀÌÀÇ ÀüȯÀº :nÅ°¿Í :NÀ» ÀÌ¿ëÇؼ­ ÇÕ´Ï´Ù. Áï vi test1 test2·Î µÎ ÆÄÀÏÀ» ¿­¾î¼­ ÀÛ¾÷À» ÇÏ°í ÀÖ´Ù¸é :nÀ» ÀÔ·ÂÇϸé test2·Î ÆíÁýÀÌ ³Ñ¾î°¡ °Ô µË´Ï´Ù. ´Ù½Ã :N ¶Ç´Â :prevÀ» ÀÔ·ÂÇϸé test1À» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç ÇöÀç ¾î ¶² ÆÄÀÏÀ» ÆíÁýÁßÀÎÁö È®ÀÎÇÏ·Á¸é :args¸¦ ÀÔ·ÂÇϸé ÇöÀç ¿­¸° ¸ðµç ÆÄÀÏ Áß¿¡ ÇöÀç ÆíÁýÁßÀÎ ÆÄÀÏÀÌ ´ë°ýÈ£·Î µÑ·¯½Î¿© Ç¥½ÃµË´Ï´Ù. ¿­¸° ÆÄÀÏÀÌ ¸¹¾Æ¼­ ¿©·¯ ¹®¼­¸¦ °Ç ³Ê¶Ù¾î ÆíÁýÇØ¾ß ÇÏ´Â °æ¿ì¿¡´Â nÀ̳ª N¾Õ¿¡ skipÇÒ ÆÄÀÏ °³¼ö¸¦ ½áÁÖ¸é µË´Ï´Ù. :4n ÀÌ·± ½ÄÀÌ µÇ°ÚÁÒ. 2.2 À̵¿ ¹®¼­³»¿ëÀ» ¼öÁ¤ÇÏ·Á¸é ÆíÁýÇÏ°íÀÚ ÇÏ´Â À§Ä¡·Î ¸ÕÀú À̵¿ÇÏ¿©¾ß ÆíÁýÀÌ °¡ ´ÉÇÏ°ÚÁö¿ä. vi´Â ´Ù¸¥ ÆíÁý±â¿Í´Â ºñ±³µµ µÇÁö ¾ÊÀ» ¸¸Å­ ¸¹Àº À̵¿ ¹æ¹ýÀ» Á¦°øÇÕ ´Ï´Ù. À̵¿¸í·ÉÀº ´Ù¸¥ ¸í·É(º¹»ç, »èÁ¦, ºÙÀ̱â)µî°ú Á¶ÇÕÇؼ­ »ç¿ëÇϱ⠶§¹®¿¡ È® ½ÇÈ÷ ¾Ë¾ÆµÎ½Ã´Â °ÍÀÌ ÁÁ½À´Ï´Ù. Á¦ ³ª¸§´ë·Î ºÐ·ù¸¦ °¡±î¿î °Å¸®ÀÇ À̵¿¿¡¼­ ¿ø°Å¸® À̵¿±îÁö ºÐ·ù¸¦ ÇØ º¸¾Ò½À´Ï´Ù. 2.2.1 ªÀº À̵¿ °¡Àå ±âº»ÀûÀÎ À̵¿ÀÌ ¸í·É¸ðµå »ó¿¡¼­ h, j, k, lÅ°¸¦ ÀÌ¿ëÇÑ À̵¿ÀÔ´Ï´Ù. Â÷·Ê·Î ÁÂ, ÇÏ, »ó, ¿ì·ÎÀÇ À̵¿À» ³ªÅ¸³À´Ï´Ù. ¿ª½Ã ´Ù¸¥ ¸í·É¸ðµå ¸í·É°ú ¸¶Âù°¡Áö ·Î ȸ¼ö¸¦ ¸í·É ¾Õ¿¡ ³Ö¾î¼­ ¹Ýº¹ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿äÁòÀº ´ëºÎºÐ Ä¿¼­ Å°¸¦ Áö¿øÇÏ°í ÀÖÁö¸¸ ¼Õ°¡¶ôÀÌ ¿À°¡´Â °Å¸® »ó »ç¿ëÇÏÁö ¾ÊÀ¸½Ã´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ´Ü¾î°£ÀÇ À̵¿Àº w, b, e, EÅ°·Î ÇÕ´Ï´Ù. wÅ°´Â ´ÙÀ½ ´Ü¾îÀÇ Ã¹ ¹ø° ¹®ÀÚ·Î À̵¿À» ÇÕ´Ï´Ù. b´Â ¹Ý´ë·Î ¾Õ ´Ü¾îÀÇ Ã¹ ¹ø° ¹®ÀÚ·ÎÀÇ À̵¿À» ³ªÅ¸³À´Ï´Ù. e, E´Â ù ¹ø° ¹®ÀÚ·ÎÀÇ À̵¿ÀÌ ¾Æ´Ñ ´Ü¾îÀÇ ¸¶Áö¸· ¹®ÀÚ·ÎÀÇ À̵¿ÀÔ´Ï´Ù. ¿ª½Ã ȸ¼ö¸¦ ¾Õ ¿¡ ³Ö¾î¼­ ¸î ´Ü¾î¸¦ ÇÑ ¹øÀÌ À̵¿ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹Û¿¡µµ ÇöÀçÇà »ó¿¡¼­ À̵¿À» ÇÏ´Â ¸í·ÉµéÀÌ ¸¹ÀÌ ÀÖ½À´Ï´Ù. 0Å°¸¦ ´©¸£ ¸é ÇöÀç ÇàÀÇ ¸Ç ¾ÕÀ¸·Î À̵¿ÇÕ´Ï´Ù. ^ À̳ª | ¿ª½Ã ÇàÀÇ ¸Ç óÀ½À¸·Î À̵¿ÇÕ´Ï´Ù. 0 Å°´Â ÇàÀÇ Ã³À½¿¡ °ø¹éÀÌ ³ª¿À´Ù ¹®ÀÚ¿­ÀÌ ³ª¿À´Â °æ¿ì¿¡´Â °ø¹éÀ» ¹«½ÃÇÏ°í ¸Ç Ã³À½ ³ªÅ¸³ª´Â ¹®ÀÚ·Î À̵¿ÇÕ´Ï´Ù. ÇÏÁö¸¸ ^ À̳ª |´Â 0¹ø° ¿­·Î À̵¿ÇÏ°Ô µË´Ï´Ù. ƯÁ¤ ¿­·Î À̵¿ÇÏ·Á¸é <¼ýÀÚ>| Áï 10¹ø° ¿­·Î À̵¿ÇÏ·Á¸é 10|À» ÀÔ·ÂÇϸé 10¹ø° ¿­·Î ÀÌ µ¿À» ÇÏ°Ô µË´Ï´Ù. ÇöÀç ÇàÀÇ ³¡À¸·Î À̵¿ÇÏ·Á¸é $±âÈ£¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌÁ¦ Çà°£ÀÇ À̵¿ÀÔ´Ï´Ù. ÇÑ Çà ¹ØÀ¸·Î À̵¿Àº + ¶Ç´Â [enter], À§·ÎÀÇ À̵¿ Àº - Å°¸¦ »ç¿ëÇÕ´Ï´Ù. 10[enter]¶ó°í ÀÔ·ÂÇØ º¸½Ê½Ã¿À. ¿£Å͸¦ ÇÑ ¹ø ÀÔ·ÂÇϸé ÇÑ Çà ¹ØÀ¸·Î À̵¿ÇÏÁö¸¸ ÇÑ ¹ø¿¡ 10 Ç྿ ÆÅÆÅ ¶³¾îÁöÁö ¾Ê½À´Ï±î? 10+µµ °°Àº °á°ú¸¦ º¸¿©ÁÝ´Ï´Ù. +--------------------------------+--------------------------------------------+ |ÁÂ, ÇÏ, »ó, ¿ì | h, j, k, l | |´ÙÀ½ÁÙÀÇ Ã¹¹ø° ¹®ÀÚ·Î | + or [enter] | |ÀÌÀüÁÙÀÇ Ã¹¹ø° ¹®ÀÚ·Î | - | |´Ü¾îÀÇ ³¡À¸·Î | e, E | |´ÙÀ½ ´Ü¾î·Î | w, W | |ÀÌÀü ´Ü¾î·Î | b, B | |ÇàÀÇ ³¡À¸·Î | $ | |ÇàÀÇ Ã³À½À¸·Î | 0 (' A' ÀÎ °æ¿ì A¾ÕÀ¸·Î Ä¿¼­À̵¿) | |ÇàÀÇ Ã³À½À¸·Î | ^ (' A' ÀÎ °æ¿ì¿¡µµ ¸Ç¾ÕÀ¸·Î Ä¿¼­À̵¿) | |´ÙÀ½, ÀÌÀü ¹®ÀåÀÇ Ã³À½À¸·Î | ), ( | |´ÙÀ½, ÀÌÀü ¹®´ÜÀÇ Ã³À½À¸·Î | }, { | |´ÙÀ½, ÀÌÀü ±¸ÀýÀÇ Ã³À½À¸·Î | ]], [[ | +--------------------------------+--------------------------------------------+ 2.2.2 ¿ø°Å¸® À̵¿ ÀÌÁ¦ Á¶±Ý ¿ø°Å¸® À̵¿À¸·Î ³Ñ¾î°©´Ï´Ù. ¹®¼­°¡ 20000Çà Á¤µµ µÈ´Ù°í Çսà ´Ù. óÀ½¿¡ ¹®¼­¸¦ ¿­°Ô µÇ¸é Ä¿¼­´Â 1Çà¿¡ À§Ä¡ÇÕ´Ï´Ù. ¿¡·¯°¡ 10000Çà Á¤µµ¿¡ ¹ß»ý ÇÑ ¼Ò½ºÄڵ带 ¼öÁ¤ÇÑ´Ù°í Ä¡¸é, ¾î¶»°Ô À̵¿Çϸé ÁÁÀ»±î¿ä? ¹°·Ð µÚ¿¡¼­ ÆÄÀÏ ¿­±â ¿¡¼­ ¹è¿ì°ÚÁö¸¸ ÇöÀç±îÁö ÀúÈñ°¡ ¾ð±ÞÇÑ ¹Ù·Î´Â 10000+¸¦ ÇϵçÁö Çؾ߰ÚÁö¿ä. ¹°·Ð ÀÌ·¸°Ô Çصµ µÇ°ÚÁö¸¸ ƯÁ¤ ÇàÀ¸·Î Á÷Á¢ À̵¿ÇÏ´Â ¸í·ÉÀÌ ÀÖ½À´Ï´Ù. ¹Ù·Î G¸í·ÉÀÔ´Ï ´Ù. 10G¶ó°í ÀÔ·ÂÇϸé 10¹ø° ÇàÀ¸·Î À̵¿ÇÏ°Ô µÇ´Â °ÍÀÌÁÒ. ´Ù¸¥ ¹æ¹ýÀ¸·Î´Â ex¸í·É ¿¡¼­ :10¶ó°í ÀÔ·ÂÇÏ°í ¿£Å͸¦ ÀÔ·ÂÇÏ¸é ±× ÇàÀ¸·Î À̵¿ÇÏ°Ô µË´Ï´Ù. ¸Ç óÀ½ ÁÙ·ÎÀÇ À̵¿Àº gg ³ª 1G ³ª :1 µîÀ» »ç¿ëÇÏ°í ¸¶Áö¸· ÁÙ·ÎÀÇ À̵¿Àº G ³ª :$ µîÀÌ °¡´ÉÇÕ´Ï ´Ù. ¿©±â¼­ $´Â µÚ¿¡¼­ ¾ð±ÞÀ» ÇÏ°ÚÁö¸¸ ex¸ðµå¿¡¼­´Â ¸¶Áö¸· ÁÙÀ» ³ªÅ¸³À´Ï´Ù. ¸í·É ¸ðµå¿¡¼­´Â ÇàÀÇ ³¡À¸·Î À̵¿¿¡ »ç¿ëµÇ¾úÁÒ. +------------------------------------+----------------------------------------+ |ÇÑ È­¸é ¾ÕÀ¸·Î ½ºÅ©·Ñ | ^F (means CTRL-F) | |ÇÑ È­¸é µÚ·Î ½ºÅ©·Ñ | ^B | |¹Ý È­¸é ¾ÕÀ¸·Î ½ºÅ©·Ñ | ^D | |¹Ý È­¸é µÚ·Î ½ºÅ©·Ñ | ^U | |ÇÑ ÁÙ ¾ÕÀ¸·Î ½ºÅ©·Ñ | ^E | |ÇÑ ÁÙ µÚ·Î ½ºÅ©·Ñ | ^Y | |È­¸éÀÇ ¸Ç À§ÁÙ·Î | H nHÀÎ °æ¿ì ¸Ç À§¿¡¼­ nÇà ¹ØÀ¸·Î | |È­¸éÀÇ Áß°£ ÁÙ·Î | M | |È­¸éÀÇ ¸Ç ¾Æ·¡ÁÙ·Î | L nLÀÎ °æ¿ì ¸Ç ¹Ø¿¡¼­ nÇà À§·Î | +------------------------------------+----------------------------------------+ 2.2.3 ã±â·Î À̵¿ ÀÚ¼¼ÇÑ ³»¿ëÀÇ Ã£±â´Â 3Àå¿¡¼­ ´Ù¸¦ °ÍÀÌ°í ¿©±â¼­´Â À̵¿¿¡ »ç¿ëµÇ´Â ã±â ¸í·É¿¡ ´ëÇؼ­ ¼³¸íÇϵµ·Ï ÇÏ°Ú½À´Ï´Ù. ÇöÀç Çà¿¡¼­ ¼ø¹æÇâÀ¸·ÎÀÇ Æ¯Á¤ ¹®ÀÚ¸¦ ãÀ» ¶§´Â f Å°¸¦ »ç¿ëÇÕ´Ï´Ù. ÇöÀç Çà¿¡¼­ Ä¿¼­À§Ä¡¿¡¼­ ù ¹ø° ³ªÅ¸³ª´Â o ¹®ÀÚ±îÁö ÀÌ µ¿ÇÏ°í ½Í´Ù¸é fo¸¦ ÀÔ·ÂÇÏ¸é µË´Ï´Ù. ¹Ý´ë ¹æÇâÀ̶ó¸é Fo¸¦ ÀÔ·ÂÇÏ¸é µÇ°ÚÁÒ. ÀÌ ¸í ·ÉÀÇ ¹Ýº¹Àº ¾î¶»°Ô ÇÒ±î¿ä? ´Ù¸¥ ¸í·Éó·³ ¾Õ¿¡ ¹Ýº¹È¸¼ö¸¦ ¸í½ÃÇصµ µÇÁö¸¸ ãÀº ÈÄ¿¡ ´Ù½Ã ã±â¸¦ °°Àº ¹æÇâÀ¸·Î ÇÏ·Á¸é ; Å°¸¦ ¹Ý´ë¹æÇâÀ¸·Î ÇÏ·Á¸é , Å°¸¦ »ç¿ëÇØ ¼­ ¸í·ÉÀ» ¹Ýº¹ÇÕ´Ï´Ù. ÇÑ ÇàÀ» ¶°³ª¼­ ¼ø¹æÇâÀ¸·Î ¾î¶² ÆÐÅÏÀÌ ³ªÅ¸³ª´Â °÷À¸·Î À̵¿ÇÏ·Á¸é /patternÀ» ¿ª½Ã ¹Ý´ë ¹æÇâÀ̶ó¸é ?patternÀ» ÀÔ·ÂÇÏ¸é µË´Ï´Ù. ÀÌ ¿ª½Ã °°Àº ¹æÇâÀ¸ ·Î ¹Ýº¹À» ÇÏ·Á¸é n, ¹Ý´ë ¹æÇâÀº NÅ°¸¦ »ç¿ëÇÕ´Ï´Ù. +------------------------------------+----------------------------------------+ |¹®ÀÚ¿­ÀÇ Ã³À½À¸·Î ¾ÕÀ¸·Î °Ë»ö | /pattern | |¹®ÀÚ¿­ÀÇ Ã³À½À¸·Î µÚ·Î °Ë»ö | ?pattern | |°Ë»öÀ» ´Ù½Ã ¹Ýº¹ (°°Àº ¹æÇâ) | n | |°Ë»öÀ» ´Ù½Ã ¹Ýº¹ (¹Ý´ë ¹æÇâ) | N | |ÇöÀç ÁÙ¿¡¼­ x°¡ ÀÖ´Â °÷À¸·Î À̵¿ | fx (¾ÕÀ¸·Î) | |ÇöÀç ÁÙ¿¡¼­ x°¡ ÀÖ´Â °÷À¸·Î À̵¿ | Fx (´ç±Ù ¿ª¹æÇâÀ¸·Î) | |nÇà ¹Ø¿¡¼­ x°¡ ÀÖ´Â °÷À¸·Î À̵¿ | tx | |nÇà À§¿¡¼­ x°¡ ÀÖ´Â °÷À¸·Î À̵¿ | Tx | |ÁÙ¿¡¼­ ã±â¸¦ °°Àº ¹æÇâÀ¸·Î ¹Ýº¹ | ; | |ÁÙ¾Ö¼­ ã±â¸¦ ¹Ý´ë ¹æÇâÀ¸·Î ¹Ýº¹ | , | |Çà À̵¿ n¹ø° ÁÙ·Î À̵¿ | nG (nÀÌ »ý·«µÇ¸é ¸¶Áö¸· ÁÙ·Î) | | | :n | |¿­ À̵¿ | n| (nÀÌ »ý·«µÇ¸é óÀ½ ¿­·Î) | |ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ´Ü¾î ã±â | * (¾Õ ¹æÇâÀ¸·Î ã´Â´Ù.) | |ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ´Ü¾î ã±â | # (µÚ·Î ã´Â´Ù.) | +------------------------------------+----------------------------------------+ 2.2.4 ¸¶Å©¸¦ ÀÌ¿ëÇÑ À̵¿ Ã¥À» Àд٠ºÏ¸¶Å©¸¦ ÇÏ´Â °Íó·³ ¹®¼­¸¦ ÆíÁýÇÏ´Ù°¡ ƯÁ¤ ºÎºÐÀ» ¸¶Å©ÇÒ ¼ö ÀÖÀ¸¸é Æí¸®ÇÏ°ÚÁö¿ä. vi¿¡¼­´Â ¿ª½Ã ¾ËÆĺª °³¼ö¸¸Å­ÀÇ ¸¶Å©¸¦ ÇÏ°í ¸¶Å©ÇÑ °÷À̳ª ±× ÁÙ·Î ¹Ù·Î À̵¿ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿ì¼± ¸¶Å©¸¦ ÇÏ·Á¸é ma ~ mz¸¦ ¸¶Å© ÇÒ °÷¿¡¼­ ÀÔ ·ÂÇÕ´Ï´Ù. ¸¶Å©ÇÑ °÷À¸·Î À̵¿Àº µÎ °¡Áö°¡ °¡´ÉÇÕ´Ï´Ù. Áï ¸¶Å©ÇÑ ÁÙ°ú ¿­ÀÌ ÀÏÄ¡ÇÏ ´Â À̵¿Àº `a ~ `z À¸·Î ¸¶Å©ÇÑ ÁÙÀÇ Ã³À½À¸·Î À̵¿Àº 'a ~ 'z¸¦ ÀÌ¿ëÇÕ´Ï´Ù. +------------------------------------+----------------------------------------+ | ÇöÀç À§Ä¡¸¦ x À̸§ÀÇ ¸¶Å©·Î ÀúÀå | mx | | ¸¶Å©ÇÑ À§Ä¡(Çà, ¿­)·Î À̵¿ | `x | | ¸¶Å©ÇÑ ÁÙ·Î À̵¿ | 'x | | ÀÌÀü¿¡ ¸¶Å©ÇÑ À§Ä¡·Î À̵¿ | `` | | ÀÌÀü¿¡ ¸¶Å©ÇÑ ÁÙ·Î À̵¿ | '' | +------------------------------------+----------------------------------------+ 2.3 ÆÄÀÏ ÀúÀå, ¿­±â, Á¾·á ÆÄÀÏÀ» ¿­ ¶§ ¿©·¯ °¡Áö ¿É¼ÇÀ» Á־ ¿­ ¼ö ÀÖ½À´Ï´Ù. Áï ƯÁ¤ Çà¿¡ Ä¿¼­ °¡ À§Ä¡Çϵµ·Ï ¿­ ¼ö Àִµ¥, ¸¶Áö¸· ÁÙ¿¡ À§Ä¡ÇÏ·Á¸é vi + [filename] °ú °°ÀÌ ¿­ °í, n¹ø° Çà¿¡ À§Ä¡½ÃÅ°·Á¸é vi +n [filename] °ú °°Àº ¹æ½ÄÀ¸·Î ¿­¸é µË´Ï´Ù. ƯÁ¤ ¹®ÀÚ¿­ÀÌ ÀÖ´Â ÁÙ¿¡ Ä¿¼­¸¦ À§Ä¡½ÃÅ°·Á¸é vi +/pattern [filename]·Î ¿±´Ï´Ù. vi +R [filename] Àº ÆÄÀÏÀ» Àбâ Àü¿ëÀ¸·Î ¿±´Ï´Ù. ÆÄÀÏÀÇ ÀúÀåÀ» »ìÆ캼±î¿ä. ÆÄÀÏÀ» ÀúÀåÇϸ鼭 Á¾·áÇÏ´Â ¹æ¹ýÀº ¸Ç óÀ½¿¡ µÎ °¡Áö¸¦ ¼³¸íÇß¾ú½À´Ï´Ù. :wq ¿Í ZZÀÔ´Ï´Ù. ´Ù¸¥ ÀúÀå¹æ¹ýÀ̶ó¸é :x ÀÌ ¸í·ÉÀº ÆÄ ÀÏÀÌ º¯°æµÇ¾úÀ» ¶§¿¡´Â ÀúÀåÇÏ°í Á¾·á¸¦ ÇÏÁö¸¸ ¾Æ´Ï¸é ±×³É Á¾·á¸¦ ÇÕ´Ï´Ù. ZZ¿Í °°Àº ±â´ÉÀÌ °°ÁÒ. ÀúÀå°ú ¿­ ¶§ ex¸ðµå¿¡¼­ »ç¿ëÇÏ´Â ¸î °¡Áö ±âÈ£¸¦ ¾Ë¾ÆµÎ½Ã¸é Æí ¸®ÇÕ´Ï´Ù. Áï %´Â ÀÛ¼ºÁßÀÎ ÆÄÀϸíÀ» ³ªÅ¸³À´Ï´Ù. µû¶ó¼­ ÇöÀç ÆÄÀÏÀ» ÆíÁý Áß¿¡ ¹é ¾÷ÆÄÀÏÀ» ÀúÀåÇÏ°í ½Í´Ù¸é :w %.bak ÀÌ·± ½ÄÀ¸·Î ÇÏ½Ã¸é ½±°Ô ¹é¾÷À» ¸¸µé ¼ö ÀÖ½À´Ï ´Ù. ±×¸®°í #´Â alternative ÆÄÀÏÀ» ³ªÅ¸³½´Ù°í Çϴµ¥ ÀÌÀü¿¡ ¿­¾î¼­ ÀÛ¼ºÇÑ ÆÄÀÏÀ» ³ªÅ¸³À´Ï´Ù. vi file1 À¸·Î ÆíÁýÀ» ÇÏ´Ù°¡ :e file2·Î ÆíÁý ÆÄÀÏÀ» »õ·Î ¿¬ °æ¿ì ´Ù ½Ã ¸ÕÀúÀÇ file1À» ¿­·Á¸é :e # ¶ó°í ÇÏ½Ã¸é µË´Ï´Ù. +------------------------------------+----------------------------------------+ | file ¿­±â | vi [filename] | | ¿©·¯ ÆÄÀÏ ¿­±â | vi [filename1] [filename2] | | Àбâ Àü¿ëÀ¸·Î ¿­±â | view [filename] ¶Ç´Â vi -R [filename] | | ¿­°í ¸¶Áö¸· Çà¿¡ À§Ä¡ | vi + [filename] | | ÆÄÀÏÀ» ¿­°í n ¹ø° Çà¿¡ À§Ä¡ | vi +n [filename] | | ÆÐÅÏÀÌ ³ªÅ¸³ª´Â °÷¿¡ Çà À§Ä¡ | vi +/pattern [filename] | | º¯°æµÈ ÆÄÀÏÀ̸é ÀúÀåÇÏ°í Á¾·á | ZZ ¶Ç´Â :x | | ÀúÀåÇÏ°í Á¾·á | :wq | | ÆÄÀÏÀÇ ÀúÀå | w | | ƯÁ¤ ¹üÀ§¸¸ ÀúÀå | :<¹üÀ§>w [filename] | | ƯÁ¤ ¹üÀ§¸¦ ´Ù¸¥ ÆÄÀÏ¿¡ µ¡ºÙÀÓ | :<¹üÀ§>w >> [filename] | +------------------------------------+----------------------------------------+ 2.4 Á¤¸® ¹× ¿¬½À¹®Á¦ ¸í·É Áß¿¡¼­ ´ëºÎºÐÀÌ case°¡ ´Ù¸£¸é ¹æÇ⸸ ¹Ý´ë·Î ÀÛ¿ëÇÏ´Â °æ¿ì°¡ ¸¹½À´Ï ´Ù. Ff, Oo, Pp, Tt, Nn, XxµîÀº case¿¡ µû¶ó¼­ ¹æÇâÀÌ ¹Ý´ëÀÎ °æ¿ìÀÔ´Ï´Ù. ´Ù¸¥ ¹® Àڵ鵵 case¿¡ µû¶ó¼­ ¾à°£¾¿ Àǹ̰¡ ´Þ¶óÁ³À½À» º¼ ¼ö ÀÖ½À´Ï´Ù. ÀÌÁ¡¿¡ À¯ÀÇÇؼ­ ¸í·ÉÀ» ±â¾ïÇÏ¸é ½±°Ô ±â¾ïÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ À§¿¡¼­ ¹è¿î ³»¿ëµéÀ» Á¶ÇÕÇؼ­ Å° ÀÔ·ÂÀ» ¸¸µé¾î º¾½Ã´Ù. ¿¹¹®À» °¡Áö°í ¼³¸íÀ» Çϵµ·Ï ÇÏ°Ú½À´Ï´Ù. ¾Æ·¡¿Í °°Àº ¹®¼­¸¦ ÆíÁýÇÏ°í ÀÖ°í ÇöÀç Ä¿¼­°¡ 4¹ø° ÁÙ ÀÇ sutffÀÇ s¿¡ À§Ä¡ÇØ ÀÖ´Ù°í ÇսôÙ. õõÈ÷ µû¶ó¿À¼¼¿ä. stuff ´Ü¾î Çϳª¸¸ Áö¿ì ·Á¸é dw¸¦ ÀÔ·ÂÇÏ¸é µË´Ï´Ù. ´ÙÀ½ ´Ü¾îÀÎ goes±îÁö °°ÀÌ Áö¿ì·Á¸é dw¸¦ µÎ ¹ø ¹Ýº¹ÇÏ ¸é µÇ°ÚÁö¿ä? 2dw, ȤÀº d2w¸¦ ÀÔ·ÂÇصµ µË´Ï´Ù. ÇöÀç Ä¿¼­ À§Ä¡¿¡¼­ 2w Áï µÎ ´Ü¾î À̵¿ÇÑ °÷±îÁö Áö¿ì´Â °ÍÀÌÁÒ. d´ÙÀ½ÀÌ À̵¿¸í·ÉÀÌ ¿À¸é À̵¿ÇÑ °÷±îÁö Áö¿ì´Â±º ¿ä... ±×·³ ¿ì¸®°¡ ¹è¿î À̵¿¸í·ÉÀ» ÃÑ µ¿¿øÇØ º¸µµ·Ï ÇÏÁÒ. d$ À̸é $°¡ ÇàÀÇ ³¡±î ÁöÀ̴ϱî stuffºÎÅÍ Çà ³¡±îÁö Áö¿öÁö°Ú±º¿ä. ÀÌ ¸í·ÉÀº D¸¦ ÀÔ·ÂÇصµ °°Àº °á°ú¸¦ ³ªÅ¸³À´Ï´Ù. À̹ø¿£ ã±â·Î À̵¿°ú Á¶ÇÕÇØ º¾½Ã´Ù. dflÀ» ÀÔ·ÂÇϸé ù ¹ø° lÀÌ ³ªÅ¸³ª´Â °÷±îÁö Ä¿¼­°¡ À̵¿Çϴϱî l±îÁö Áö¿öÁö°ÚÁÒ? d/bash¸¦ ÀÔ·ÂÇØ º¾½Ã´Ù. 6Çà¿¡ bash¾Õ ±îÁö »èÁ¦°¡ µÇ¾ú³ª¿ä? ÀÚ À̹ø¿£ mark·Îµµ À̵¿ÀÌ °¡´ÉÇÏ´Ù°í ÇßÀ¸´Ï mark¸¦ ÀÌ¿ëÇؼ­ Áö¿öº¾½Ã´Ù. 7ÇàÀÇ someÀÇ sÀ§¿¡¼­ ma¶ó°í ÇսôÙ. ´Ù½Ã stuffÀÇ s·Î µ¹¾Æ°¡¼­ d`a¶ó°í ÀÔ·ÂÇØ º¸ ¼¼¿ä. »ý°¢Çß´ø °Íó·³ ³ª¿Ô´Ù¸é ´Ù¸¥ Á¶ÇÕµéÀ» »ý°¢ÇØ º¸½Ã±æ ¹Ù¶ø´Ï´Ù. º¹»ç´Â d´ë ½Å y¸¦ ³Ö¾îÁÖ¸é µË´Ï´Ù. ±×·³ ¿¬½À¹®Á¦¸¦ Ç®¾îº¸¼¼¿ä... ------------------------------------------------------------------------------- 1 : # /etc/bashrc 2 : 3 : # System wide functions and aliases 4 : # Environment stuff goes in /etc/profile 5 : 6 : # For some unknown reason bash refuses to inherit 7 : # PS1 in some circumstances that I can't figure out. 8 : # Putting PS1 here ensures that it gets loaded every time. 9 : PS1="[\u@\h \W]\\$ " 10: 11: alias which="type -path" ------------------------------------------------------------------------------- ¿¬½À¹®Á¦ 2 ¹®Á¦ 1) ÇöÀç Ä¿¼­ À§Ä¡°¡ unknownÀÇ u¿¡ ÀÖ´Ù°í ÇÏÀÚ. ´Ü °¢°¢ ¹®Á¦¿¡ °á°ú´Â ´ÙÀ½ ¹®Á¦¿¡ ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê´Â´Ù°í °¡Á¤... (1) ÇöÀçÀ§Ä¡¿¡¼­ ±×ÁÙ ³¡±îÁö »èÁ¦, º¹»ç (2) 4ÁÙ º¹»ç ÈÄ ¸¶Áö¸· ÁÙ ¾Æ·¡¿¡¼­ »ðÀÔ, º¹»ç (3) ÇöÀç À§Ä¡¿¡¼­ figure outÀÇ out¾Õ ±îÁö »èÁ¦, º¹»ç (4) ÇöÀç ÁÙ¿¡¼­ ¸¶Áö¸· ÁÙ±îÁö »èÁ¦, º¹»ç (5) ÇöÀç À§Ä¡¿¡¼­ ÁÙÀÇ Ã³À½±îÁö »èÁ¦, º¹»ç (6) ÇöÀç À§Ä¡¿¡¼­ 25¿­±îÁö¸¸ »èÁ¦, º¹»ç ¹®Á¦ 2) À§¿¡¼­ 3¹ø° Çà°ú 4¹ø° ÇàÀ» ÇÕÃĶó. 1. (1) »èÁ¦ : d$, D º¹»ç : y$ (2) 4yyGp (3) »èÁ¦ : d/out º¹»ç : y/out (4) »èÁ¦ : dG, 6dd º¹»ç : yG, 6yy (5) »èÁ¦ : d0, d|, d1|, 3db, d3b, d?#, dF# º¹»ç : y0, y|, y1|, 3yb, y3b, y?#, dF# (6) »èÁ¦ : d25| º¹»ç : y25| 2. µÎ ÁÙÀ» ÇÕÄ¡´Â ¸í·ÉÀ» Ç¥¿¡¼­ ã¾Æ¼­ Çغ¸µµ·Ï... 3. ã±â, ġȯ vi¿¡¼­ ã±â ¸í·É°ú ġȯ ¸í·ÉÀº °ÅÀÇ ¿¹¼ú¿¡ °¡±õ½À´Ï´Ù. °ÅÀÇ ¸ðµç ¹®ÀÚ¿­ À» ã°í ´Ù¸¥ ¹®ÀÚ¿­·Î ´ëüÇÒ ¼ö ÀÖ´Â µí ÇÕ´Ï´Ù. ±× ¸¸Å­ ¸í·É¿¡ ±â´Éµµ ¸¹°í »ç¿ë Çϱ⵵ Á¶±ÝÀº º¹ÀâÇÕ´Ï´Ù. ã±â¿Í ġȯÀº ex ¸ðµå¿¡¼­ ÇàÇØÁý´Ï´Ù. ¿ì¼±Àº Á¤±Ô Ç¥ Çö½ÄÀ» ¾Ë¾ÆµÎ½Ã¸é ã°íÀÚ ÇÏ´Â ÆÐÅÏÀ» ½±°Ô ã´Âµ¥ ¸¹Àº µµ¿òÀÌ µË´Ï´Ù. 3.1 Á¤±ÔÇ¥Çö½Ä Á¤±ÔÇ¥Çö½ÄÀº vimÀÇ °æ¿ì :help¶ó°í ÀÔ·ÂÇÏ¸é ³ª¿À´Â Á¤±ÔÇ¥Çö½Ä ±âÈ£°¡ ¼³ ¸íÀÌ Àß µÇ¾îÀÖ½À´Ï´Ù. Á¤±ÔÇ¥Çö½ÄÀº °¢ÀÚ °øºÎÇÏ½Ã±æ ¹Ù¶ø´Ï´Ù. ¿©±â¼­´Â ¸Å¿ì °£´Ü ÇÏ°Ô ±âÈ£ ¼³¸í°ú °£´ÜÇÑ ¿¹¸¸ µé°í ³Ñ¾î°¡°Ú½À´Ï´Ù. ÀÚ¼¼È÷ Çϸé À̰͸¸ °¡Áö°íµµ ÇÑÂüÀ» ¼³¸íÇÏ¿©¾ß Çϴϱî¿ä... ¾Æ·¡ÀÇ Ç¥¿¡ º¹ÀâÇÑ ±âÈ£µéÀÌ ¸¹ÀÌ ³ª¿ÍÀִµ¥¿ä. ¿ì¼± ., ^, \+, *, [], \< \>ÀÇ ±âÈ£´Â ¹Ýµå½Ã ¾Æ¼Å¾ß ÇÕ´Ï´Ù. Á¤¸» ±âº»ÀûÀÎ ±âÈ£µéÀÌ°í ¸î °³´Â shell»óÀ̳ª ´Ù¸¥ °÷¿¡¼­µµ »ç¿ëÇÏ½Ç ¼ö ÀÖ´Â °ÍµéÀÌ´Ï±î ¾Ë¾ÆµÎ½Ã¸é µµ¿òÀÌ µÇ½Ç °Ì´Ï´Ù. ÀÌ ±â È£µéÀ» °£·«È÷ ¼³¸íÇϸé .´Â ÇϳªÀÇ ¸ðµç ¹®ÀÚ¸¦ ³ªÅ¸³À´Ï´Ù. .¶ó°í Çϸé ÀÌ ±âÈ£¿¡ ¾î¶°ÇÑ ÇÑ ¹®ÀÚ°¡ ´ëÄ¡µÉ ¼ö ÀÖ´Â °ÍÀÌÁö¿ä. ^Àº ´ë°ýÈ£ ¾È°ú ¹Û¿¡¼­ Àǹ̰¡ ´Þ¶óÁö ´Â µ¥ ´ë°ýÈ£ ¾È¿¡¼­´Â notÀÇ Àǹ̸¦ °¡Áö°í, ¹Û¿¡¼­´Â À§¿¡¼­ ¸í·É¸ðµå¿¡¼­ ^±âÈ£ÀÇ ¿ëµµ¿Í ºñ½ÁÇÏ°Ô ÇàÀÇ Ã³À½À» ³ªÅ¸³À´Ï´Ù. \+´Â 1ȸ ÀÌ»ó ³ªÅ¸³­´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï ´Ù. *µµ ºñ½ÁÇѵ¥ ÀÌ°ÍÀº 0¹ø ÀÌ»ó Áï ³ªÅ¸³¯ ¼öµµ ÀÖ°í ±×·¸Áö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. ¸¶Áö¸·À¸·Î []Àº ³ªÅ¸³¯ ÇÑ ¹®ÀÚÀÇ ¹üÀ§¸¦ ÁöÁ¤ÇÒ ¶§ »ç¿ëµË´Ï´Ù. Áï [abc]´Â a ¶Ç´Â b ¶Ç´Â cÀÔ´Ï´Ù. [a-z]´Â a¿¡¼­ zÁß¿¡¼­ ÇÑ ¹®ÀÚ¸¦ ³ªÅ¸³»°ÚÁö¿ä. ±×·³ ÀÌ ±âÈ£µéÀ» °¡Áö°í ã°íÀÚ ÇÏ´Â ¹®ÀÚ¿­ÀÇ ÆÐÅÏÀ» ¸¸µé¾î º¾½Ã´Ù. The ³ª the¸¦ ±âÈ£·Î ³ªÅ¸³»¸é [Tt]he °¡ µË´Ï´Ù. ¸ÂÁÒ? []°¡ Á¤ÇØÁø ¹üÀ§¿¡¼­ ÇÑ ¹®ÀÚ¸¦ ³ªÅ¸³½´Ù°í ÇßÀ¸´Ï±î¿ä. ±×·³ ÇàÀÇ ¸Ç óÀ½¿¡ ³ªÅ¸³ª´Â The³ª the¸¦ ãÀ¸·Á¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î¿ä? ^[Tt]he°¡ µÇ°ÚÁÒ. À̹ø¿£ th·Î ½ÃÀÛÇÏ´Â ¾Æ¹« ¹®ÀÚ¸¦ ¸¸µé¾î º¾½Ã´Ù. th·Î ½ÃÀÛÇϴϱî th¸¦ ¾Õ¿¡ ½áÁÖ°í µÚ¿¡ ¾Æ¹« ¹®ÀÚ³ª ³ª¿ÀµçÁö ¾È³ª¿ÀµçÁö »ó°üÀÌ ¾øÁÒ? th.* ÀÌ·¸°Ô °Ë»öÀ» Çϸé the, this, that µîµîÀÌ °Ë»öÀÌ µÇÁö¸¸ althoughµîµµ °Ë»öÀÌ µË´Ï´Ù. th·Î ½ÃÀÛÇÏ´Â ¹®ÀÚ¸¸ °Ë»öÀ» ÇÏ·Á¸é ´Ü¾îÀÇ ½ÃÀÛ°ú ³¡À» ¸í½ÃÇØÁÖ¾î ¾ß°ÚÁÒ. ±×·¡¼­ ÇÊ¿äÇÑ °ÍÀÌ \< \>ÀÔ´Ï´Ù. ÀÌ »çÀÌ¿¡ À§ÀÇ Ç¥Çö½ÄÀ» ³Ö¾î¼­ °Ë»öÀ» Çϸé the, this, thatµî°ú °°ÀÌ th·Î ½ÃÀÛÇÏ´Â ¹®ÀÚ¿­À» °Ë»öÇÏ°Ô µË´Ï´Ù. *´ë½Å¿¡ \+¸¦ ³ÖÀ¸¸é ¾î¶»°Ô ´Ù¸¦±î¿ä? th ÀÇ °æ¿ì *¶ó¸é ÇØ´çµÇ°ÚÁö¸¸ \+¶ó¸é ÇØ´çµÇÁö ¾Ê½À ´Ï´Ù. ÀÌ»óÀÌ °£´ÜÇÑ Á¤±Ô Ç¥Çö½Ä¿¡ ´ëÇÑ ±âÈ£ÀÌ°í ÀÌÁ¦ º»°ÝÀûÀ¸·Î °Ë»ö°ú ġȯÀ» ÇØ º¸µµ·Ï ÇÏÁÒ. ------------------------------------------------------------------------------- ÀÇ ¹Ì ½Ä³» ¿ø·¡¹®ÀÚ¸¦ ³ªÅ¸³»·Á¸é ------------------------------------------------------------------------------- ¾Æ¹« ¹®ÀÚ³ª ÇÑ ¹®ÀÚ . \. ÇàÀÇ Ã³À½¿¡ ½ÃÀÛ ^ ^ ÇàÀÇ ³¡À» ÀÇ¹Ì $ $ ´Ü¾îÀÇ ½ÃÀÛ \< \< ´Ü¾îÀÇ ³¡ \> \> ÁÖ¾îÁø ¹üÀ§ ³»¿¡¼­ÀÇ ÇÑ ¹®ÀÚ [a-z] \[a-z] ÁÖ¾îÁø ¹üÀ§ ¹Û¿¡¼­ÀÇ ÇÑ ¹®ÀÚ [^a-z] \[^a-z] \e \e \t \t \r \r \b \b 0 ¹ø ȤÀº 1¹ø ÀÌ»ó ³ªÅ¸³² * \* Àû¾îµµ ÇÑ ¹ø ÀÌ»ó ³ªÅ¸³² \+ \+ ¶Ç´Â \| \| ------------------------------------------------------------------------------- POSIX character classes¶ó´Â °Íµµ Àִµ¥ À̰͵µ Á¤±ÔÇ¥Çö½Ä ³»¿¡¼­ ¾µ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ »õ·Î¿î ±âÈ£µéÀº ¸ðµÎ À§¿¡¼­ Á¦°¡ ¼³¸íÇÑ °Í¸¸À¸·Îµµ ¸¸µé ¼ö ÀÖ Áö¸¸ ½ÄÀ» ª°Ô Çϱâ À§Çؼ­ ¹Ì¸® ¸¸µé¾î ³õÀº °ÍÀ̶ó°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù. ¿¹¸¦ µé ¾î µÚ¿¡ È®Àå Á¤±ÔÇ¥Çö½Ä¿¡ \p¸¦ Á¤±ÔÇ¥Çö½ÄÀ¸·Î ÇÏ·Á¸é [0-9a-zA-Z \t][0-9a-zA-Z \t]* ¹¹ ÀÌ·± ½ÄÀ¸·Î Ç¥½ÃÇؾ߰ÚÁÒ(Ʋ¸± ¼öµµ ÀÖ½À´Ï´Ù). Á¤±ÔÇ¥Çö½Ä¿¡ ÀڽŠÀÖ´Â ºÐ Àº ¸ð¸£°ÚÁö¸¸ ´ëºÎºÐÀº ¸¹ÀÌ »ý°¢ÇÏ¿©¾ß ÇÏ°í Àú ó·³ Ȥ½Ã »©¸ÔÀº ¹®ÀÚ°¡ »ý±æÁöµµ ¸ð¸£±â ¶§¹®¿¡ ÀÌ·± ½ÄÀ¸·Î ¶Ç ´Ù¸¥ ±âÈ£¸¦ ¸¸µé¾î Ç¥ÇöÇÏ´Â °ÍÀÌÁÒ. +------------------------------------+----------------------------------------+ | [:alnum:] | ¾ËÆĺª, ¼ýÀÚ | | [:alpha:] | ¾ËÆĺª | | [:blank:] | °ø¹é¹®ÀÚ Åǹ®ÀÚ Æ÷ÇÔ | | [:cntrl:] | control ¹®ÀÚ | | [:digit:] | ¼ýÀÚ | | [:graph:] | °ø¹é¹®ÀÚ¸¦ Á¦¿ÜÇÑ | | [:lower:] | ¼Ò¹®ÀÚ | | [:upper:] | ´ë¹®ÀÚ | | [:print:] | ÇÁ¸°Æ® °¡´ÉÇÑ ¹®ÀÚ °ø¹é Æ÷ÇÔ | | [:punct:] | ±¸µÎÁ¡¹®ÀÚ ) ( , . " ' : ; _ µîµî | | [:space:] | °ø¹é¹®ÀÚ | | [:xdigit:] | 16Áø¼ö ¼ýÀÚ | +------------------------------------+----------------------------------------+ 3.2 ã±â ´Ü¼øÈ÷ ÆÐÅϸ¸ ã´Â °Å¶ó¸é ¸í·É¸ðµå¿¡¼­ /pattern ¶Ç´Â ?pattern °ú n, NÅ° ¸¦ ÀÌ¿ëÇؼ­ ã´Â °ÍÀÌ Æí¸®ÇÕ´Ï´Ù. ex¸ðµå¿¡¼­ÀÇ ÆÐÅÏÀ» ã±â À§Çؼ­´Â :/pattern/ Çü½ÄÀ» »ç¿ëÇÕ´Ï´Ù. ex¸ðµå¿¡ ÀÌ Ã£±â ¸í·ÉÀÌ ÀÖÀ½À¸·Î Çؼ­ ´Ù¸¥ ex¸í·Éµé°ú Á¶ÇÕÀÌ °¡´ÉÅä·Ï ÇÏ´Â °Í °°½À´Ï´Ù. ex¸ðµå°¡ Çà´ÜÀ§·Î µ¿ÀÛÇÑ´Ù´Â °ÍÀº ¾Ë°í °è½Ã¸®¶ó »ý°¢ ÇÕ´Ï´Ù. :/pattern/Çü½ÄÀ¸·Î ÀÔ·ÂÀ» Çϸé ÆÐÅÏÀÌ ÀÖ´Â ÇàÀ¸·Î À̵¿À» ÇÏÁö¿ä. ÀÌ°ÍÀÌ ¾î¶»°Ô ¾²ÀÏ ¼ö ÀÖÀ»Áö »ý°¢ÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù. ^^; À§¿¡¼­Ã³·³ ã°Ô µÇ¸é :/pattern/ ãÀº °÷À¸·Î À̵¿¸¸ ÇÏ°Ô µË´Ï´Ù. ¿©±â¿¡ ¸î °¡Áö ¸í·É°ú ¿É¼ÇÀ» µ¡ºÙ¿©¼­ Á¶±Ý º¹ÀâÇÑ Ã£±â¸¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù. °£´ÜÇÑ °ÍºÎÅÍ ¿¹¸¦ µéÁÒ. :=¸¦ ÀÔ·ÂÇØ º¾½Ã´Ù. ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ÇàÀÇ ¹øÈ£°¡ Ãâ·ÂÀÌ µË´Ï´Ù. :g/pattern/À» ÇØ º¾½Ã´Ù. ÆÐÅÏÀÌ ³ªÅ¸³­ ÁÙÀÇ ³»¿ëÀ» ¸ðµÎ Ç¥½ÃÇϸ鼭 ¸¶Áö¸·¿¡ ³ª Ÿ³­ ÇàÀ¸·Î À̵¿ÇÒ °ÍÀÔ´Ï´Ù. ´Ù½Ã :/pattern/= À̳ª :g/pattern/=À» ÀÔ·ÂÇØ º¾½Ã ´Ù. ¾Õ¿¡ °ÍÀº óÀ½ patternÀÌ ³ªÅ¸³­ Çà ¹øÈ£¸¸ Ç¥½Ã¸¦ ÇÕ´Ï´Ù. µÎ ¹ø° °ÍÀº patternÀÌ ³ªÅ¸³ª´Â Çà ¹øÈ£¸¦ ¸ðµÎ Ç¥½Ã¸¦ ÇÕ´Ï´Ù. 3.3 ġȯ Á¦°¡ vi¸¦ ¾²¸é¼­ °¨µ¿(TT)À» ¹Þ´Â °ÍÀÌ ¹Ù·Î ÀÌ Ä¡È¯ ¸í·ÉÀÇ °­·ÂÇÔÀÔ´Ï´Ù. ÀϹÝÀûÀΠġȯ¹®ÀÇ Çü½ÄÀº ´Ù¸¥ ex¸í·Éµé°ú ¸¶Âù°¡Áö·Î :<¹üÀ§>s/old/new/<¿É¼Ç> ÀÇ Çü½ÄÀ» »ç¿ëÇÕ´Ï´Ù. ¿©±â¼­ ÇÑ°¡Áö º¸Ãæ ¼³¸íÀ» ÇÏ°í ³Ñ¾î°¡¾ß ÇÏ´Â °ÍÀÌ ÀÖ½À´Ï´Ù. hold buffer ¶ó´Â °ÍÀε¥ °Ë»öÀ» Çϸ鼭 °Ë»öµÈ ¹®ÀÚ¿­À» º¸°üÇÏ´Â ÀÏÁ¾ÀÇ ±â¾ïÀå¼ÒÀÔ´Ï´Ù. »ç¿ë ¹ýÀº °Ë»öÇÒ ¹®ÀÚ¿­À» \( \)·Î µÑ·¯½Î¸é µË´Ï´Ù. ±×·³ ¾Õ¿¡¼­ ¼ø¼­´ë·Î \1 ~ \9±îÁö ÀÇ ¹öÆÛ¿¡ ãÀº ¹®ÀÚ¿­ÀÌ º¹»ç°¡ µÇÁö¿ä. ºñ½ÁÇÑ ±âÈ£·Î &°¡ Àִµ¥ À̴ ã¾Æ³½ ¹® ÀÚ¿­À» ³ªÅ¸³À´Ï´Ù. ¶Ç ÇÑ°¡Áö ~±âÈ£Àε¥ ÀÌ°ÍÀº ¹Ù·Î Àü¿¡ ¼öÇàÇÑ °Ë»öÀ̳ª ġȯÀÇ Á¤±ÔÇ¥Çö½ÄÀ» ³ªÅ¸³À´Ï´Ù. ¿¹¸¦ µé¾î¼­ ¼³¸íÇØ º¸µµ·Ï ÇÏÁÒ. ¿ì¼± ¹®¼­°¡ Çϳª ÇÊ¿äÇϱº¿ä... ÀÌÀü¿¡ »ç¿ëÇÑ ¹®¼­¸¦ ´Ù½Ã »ç¿ëÇϵµ·Ï ÇÏÁÒ. ------------------------------------------------------------------------------- 1 : # /etc/bashrc 2 : 3 : # System wide functions and aliases 4 : # Environment stuff goes in /etc/profile 5 : 6 : # For some unknown reason bash refuses to inherit 7 : # PS1 in some circumstances that I can't figure out. 8 : # Putting PS1 here ensures that it gets loaded every time. 9 : PS1="[\u@\h \W]\\$ " 10: 11: alias which="type -path" ------------------------------------------------------------------------------- :%s/#/_&_/g¶ó°í Çϸé #°¡ ¸ðµÎ _#_¹Ù²î¾î ÀÖÀ» °ÍÀÔ´Ï´Ù. ã´Â ¹®ÀÚ¿­ÀÌ ±æ ¾îÁö´Â °æ¿ì¿¡ &¸¦ »ç¿ëÇÏ¸é °£´ÜÇÏ°ÚÁö¿ä? À̹ø¿£ À§¿¡¼­ ¾ð±ÞÇÑ hold buffer¸¦ »ç ¿ëÇØ º¾½Ã´Ù. :%s/\(goes\) \(in\)/\2 \1/g ÀÌ·¸°Ô ÀÔ·ÂÇÏ¸é ¾î¶»°Ô ¹Ù²ð±î¿ä? goes inÀ» ã¾Æ¼­ °¢°¢ hold ¹öÆÛ 1, 2 ¿¡ ÀúÀåÀ» ÇØ µÓ´Ï´Ù. µÚ¿¡¼­ ġȯÇÒ ¶§ ¹öÆÛ À̸§ ÀÌ ¼ø¼­°¡ ¹Ù²î¾î ÀÖÀ¸¹Ç·Î ±× ³»¿ëÀÎ in goes¸¦ Ãâ·ÂÇÏ°Ô µË´Ï´Ù. ------------------------------------------------------------------------------- # Environment stuff goes in /etc/profile ¸í·É Àü # Environment stuff in goes /etc/profile ¸í·É ÈÄ ------------------------------------------------------------------------------- 3.4 Á¤¸® ¹× ¿¬½À¹®Á¦ ¸î °¡Áö ¼³¸íÀ» ÇÏÁö ¾ÊÀº °ÍµéÀÌ ÀÖ½À´Ï´Ù. À§ÀÇ ¿¹Á¦¿¡¼­Ã³·³ ¼³Á¤ ÆÄÀϵé Àº ¹®¼­ ³»¿¡ / (¿ª½½·¡½¬)±âÈ£µéÀÌ ¸¹ÀÌ À־ ÆÐÅÏÀ» ã´Âµ¥ ¾²´Â Çü½ÄÀÇ /°ú È¥ µ¿µÉ ¼ö ÀÖ½À´Ï´Ù. ¹°·Ð ¿ø·¡ÀÇ ¹®ÀÚ¸¦ ÀǹÌÇÒ ¶§´Â \/·Î ¸ðµÎ ´ëÄ¡ÇÏ¸é µÇÁö¸¸ ÀÌ·± °æ¿ì¿¡´Â Çê°¥¸®ÁÒ. /´ë½Å ;±âÈ£³ª :À» »ç¿ëÇؼ­ °¢°¢À» ±¸ºÐ Áþ½À´Ï´Ù. :%s:/etc/:/etc/local/:g¸¦ Çϸé /etc/¸¦ /etc/local/·Î ġȯÀ» ÇÏ°Ô µÇÁÒ. À§¿¡¼­ ¹è¿î °ÍµéÀÇ Á¶ÇÕÀ¸·Îµµ ¸¹Àº ÆÐÅÏÀ» ã°í ¼öÁ¤À» ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾îº¸µµ·Ï ÇÏÁö¿ä. ¿¬½À¹®Á¦·Î ´ÙÀ½ÀÌ ¾î¶² ÀÏÀ» ÇÒÁö »ý°¢ÇØ º¸½Ã°í Ç®À̸¦ º¸½Ã±â ¹Ù¶ø´Ï´Ù. ¾Æ·¡ (1)°ú (2) ¹øÀº À§¿¡¼­ ¾ð±ÞÀ» ÇÏÁö ¾Ê¾ÒÁö¸¸ Çغ¸½Ã¸é ¾î¶² Àǹ̸¦ °®´ÂÁö ¾Æ½Ç ¼ö ÀÖÀ¸¸®¶ó »ý°¢ÇÕ´Ï´Ù. ¿¬½À¹®Á¦ 3. ´ÙÀ½ ġȯ¹®ÀÇ Àǹ̸¦ ¼³¸íÇϽÃÁÒ.... ^^; (1) :%s/.*/\U&/g (2) :%s/.*/\L&/g (3) :%s/\(.*\) *$/\1/ (4) :%s/^ \+\(.*\)/\1/ (5) :%s/^ \+\|^\t\+\(.*\)/\1/ (6) :%s/^M//g (¿©±â¼­ ^MÀº CTRL-VÈÄ¿¡ [ENTER]¸¦ ´©¸¥ °ª) ´ÙÀ½ ¸í·ÉÀÇ Àǹ̸¦ ¼³¸íÇϼ¼¿ä. (7) :n out.txt | g/pattern/, .w >> out.txt (out.txtÈ­ÀÏÀÌ Á¸ÀçÇØ¾ß ÇÕ´Ï´Ù.) Âü°í> :g/pattern/y A (8) :g/pattern/d 4. The Power of ex Á¦°¡ »ý°¢Çϱ⿡ vi°¡ °­·ÂÇÑ ¿¡µðÅÍ°¡ µÉ ¼ö ÀÖ¾ú´ø °¡Àå Å« ÀÌÀ¯°¡ ÀÌ ex ¸ðµå ¶§¹®ÀÎ µíÇÕ´Ï´Ù. ex¸ðµå´Â vi¿¡ ¿©·¯ °¡Áö È®ÀåµÈ ±â´É°ú ¿ÜºÎ ÇÁ·Î±×·¥À» »ç ¿ëÇÒ ¼ö ÀÖ´Â Åë·Î¸¦ Á¦°øÇÕ´Ï´Ù. ¼¿ ¸í·ÉÀº ±âº»ÀÌ°í, À¯´Ð½ºÀÇ ±âº»ÀûÀÌ°í À¯¿ëÇÑ À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ------------------------------------------------------------------------------- ex ¸í·ÉÀÇ Çü½Ä :<¹üÀ§>ex¸í·É¾î [| ¸í·É ...] ------------------------------------------------------------------------------- ¹üÀ§ ¼³Á¤Çϱ⠿켱 ex¸í·ÉÀº Çà ´ÜÀ§·Î ¸í·ÉÀÌ ½ÇÇàµÈ´Ù°í ¾Ë¾ÆµÎ½Ã±â ¹Ù¶ø´Ï´Ù.(¿ø·¡ ex ¿¡µðÅÍ°¡ ¶óÀδÜÀ§ ¿¡µðÅÍÁÒ) ÀÌ·¸°Ô ÀÌÇØÇÏ´Â °ÍÀÌ °¡Àå ½±½À´Ï´Ù. ¹üÀ§ ¼³Á¤µµ ¹° ·Ð Çà ´ÜÀ§·Î ¼³Á¤ÀÌ µÇ°ÚÁö¿ä? ¹üÀ§¸¦ ¼³Á¤ÇÒ ¶§´Â ,·Î ±¸ºÐÇؼ­ ½ÃÀÛ°ú ³¡À» ³ªÅ¸ ³À´Ï´Ù. Áï 1, 10 À̸é 1~10Çà¿¡ ´ëÇؼ­ ¸í·ÉÀ» Àû¿ëÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ¸¸¾à¿¡ »ý·«ÇÏ ¸é ÇöÀç À§Ä¡ÇÑ ÇàÀÌ ÇØ´çµË´Ï´Ù. Á¦°¡ À§¿¡¼­ ã±â ¸í·ÉÀÌ ¾î¶»°Ô »ç¿ëµÉÁö »ý°¢ÇØ º¸¶ó°í Çß´ø ¾ê±â°¡ ±â¾ïÀÌ ³ª½Ê´Ï±î? ¹üÀ§ ³»¿¡¼­ ¸í·ÉÀ» ¼öÇàÇÒ ¼öµµ ÀÖÁö¸¸ ¾î¶² ã±â¸¦ ÇÑ ÈÄ¿¡ ±× ÁÙ¿¡, ȤÀº ¾î¶² óÀ½ ÁÙÀ» ÁÖ¾îÁÖ°í ã±â°¡ ¼º°øÇÑ ÁÙ±îÁö ex¸í ·ÉÀ» ¼öÇàÇÒ ¼ö ÀÖ´Ù´Â ¾ê±â°¡ µÇ´Â °ÅÁÒ... ÀÚ¼¼ÇÑ °ÍÀº ¿ª½Ã µÚ¿¡¼­ ³ª¿À´Â ¿¹¿¡¼­ ã¾Æº¸½Ã±â ¹Ù¶ø´Ï´Ù. ÆíÁý ¸í·É¾îµé +------------------------------------+----------------------------------------+ | :d | »èÁ¦ | | :co, t | º¹»ç | | :m | À̵¿ | | :pu | ºÙ¿© ³Ö±â | | :y | ¹öÆÛ¿¡ º¹»ç | | := | ÇöÀç Çà¹øÈ£ Ç¥½Ã(¹öÀü¿¡ µû¶ó Ʋ¸²) | | :p | ÁÙÀÇ ³»¿ëÀ» Ç¥½Ã | +------------------------------------+----------------------------------------+ ¿¹¸¦ µé¾î°¡¸é¼­ ¼³¸íÀ» ÇÏ°Ú½À´Ï´Ù. :1, $d (¹®¼­ ÀüüÀÇ »èÁ¦) $±âÈ£´Â ¹® ¼­ÀÇ ³¡À» ³ªÅ¸³À´Ï´Ù. Á¤±ÔÇ¥Çö½ÄÀÇ ¸¶Áö¸·¿¡¼­´Â ÁÙÀÇ ³¡À» ³ªÅ¸³»°í ¸í·É¸ðµå¿¡¼­ µµ ÁÙÀÇ ³¡À» ³ªÅ¸³»ÁÒ. $±âÈ£¸¦ ¾Ë¾ÆµÎ½Ã¶ó ¿¹¸¦ µé¾ú½À´Ï´Ù. :%d (¹®¼­ ÀüüÀÇ »è Á¦) %±âÈ£´Â ¹®¼­ Àüü¸¦ ³ªÅ¸³À´Ï´Ù. À§¿¡¼­ ¾´ ½Ä°ú °°Àº ÀÏÀ» ÇÏÁö¸¸ ÈξÀ ª¾ÆÁ³ ÁÒ. :.,+10y (ÇöÀç À§Ä¡¿¡¼­ 10Çà ¾Æ·¡±îÁö ¹öÆÛ¿¡ º¹»ç) ¹öÆÛ¿¡ º¹»ç¸¸ ÇÕ´Ï´Ù. :.,+10y|$|pu (ÇöÀç À§Ä¡¿¡¼­ 10Çà ¾Æ·¡±îÁö ¹öÆÛ¿¡ º¹»ç, ¸¶Áö¸·ÁÙ·Î À̵¿, ºÙ¿©³Ö ±â) | ±âÈ£¸¦ »ç¿ëÇϸé ÇÑ Çà¿¡ ¿©·¯ °³ÀÇ ex¸í·ÉÀ» ½áÁÙ ¼ö ÀÖ½À´Ï´Ù. :.m$ (ÇöÀç ÁÙÀ» Àß¶ó³½ ÈÄ ÁÙÀÇ ¸Ç ¸¶Áö¸·¿¡ Ãß°¡) :-, +y (ÇöÀç ÁÙ°ú À§, ¾Æ·¡ ÁÙÀ» º¹»ç) +- ±âÈ£¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù. ÇöÀç Çà¿¡¼­ -´Â À§ÂÊÀ» +´Â ¾Æ·¡ÂÊ Çà À» ÀǹÌÇÏÁÒ. :.,'xd (ÇöÀç ÁÙ¿¡¼­ x¿¡ ¸¶Å©ÇÑ ÁÙ±îÁö »èÁ¦) ¸¶Å©¸¦ ÅëÇÑ À̵¿ Áß¿¡ ¼­µµ 'X ·Î À̵¿Çϸé Çà´ÜÀ§·Î À̵¿ÇÏ´Â °ÍÀ» À§¿¡¼­ ¼³¸íÀ» Çß¾úÁÒ. ex¸ðµå¿¡¼­µµ ¹Ù·Î ¸¶Å©¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ''µîÀÇ ±âÈ£µµ ´ç¿¬È÷ »ç¿ëÀÌ °¡´ÉÇÕ´Ï´Ù. ´Ü Çà´Ü À§´Ï±î `´Â ¹«È¿ÇÕ´Ï´Ù. :., /pattern/d (ÇöÀç ÁÙ¿¡¼­ patternÀÌ Ã³À½ ³ªÅ¸³ª´Â ÁÙ±î Áö »èÁ¦) °Ë»öÀ» ÀÌ¿ëÇÏ¿© ¹üÀ§¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. ´Ü ÀÌ·¸°Ô Áö¿ì¸é ÆÐÅÏÀÌ ³ª Ÿ³­ ÁÙ±îÁö »èÁ¦µÈ´Ù´Â Á¡¿¡ À¯ÀÇÇϽñ⠹ٶø´Ï´Ù. :.y a (ÇöÀç ÁÙÀ» named buffer a¿¡ ÀúÀå) named bufferµµ ¿ª½Ã »ç¿ëÀÌ °¡´ÉÇÕ´Ï´Ù. º¹»çÇÒ ¹öÆÛ¸¦ ÁöÁ¤ÇÏ¿© yanking À» ÇÏ¿´½À´Ï´Ù. À̸¦ ºÒ·¯³¾ ¶§¿¡´Â :pu a (¹öÆÛ a¿¡ º¹»çµÈ °ÍÀ» ºÙÀ̱â) ¶Ç´Â "ap ·Î ÇÏ¸é µÇ°ÚÁÒ... :.co$ (ÇöÀç ÁÙÀ» º¹»çÇؼ­ ÁÙÀÇ ¸¶Áö¸·¿¡ ºÙÀ̱â) :/pattern/= (ÆÐÅÏÀÌ ³ªÅ¸³­ ÁÙ ¹øÈ£¸¦ Ç¥½Ã), :10;+20d (10¹ø° ÁÙ¿¡¼­ +20±îÁö »èÁ¦) ÀÌ´Â ÇöÀç À§Ä¡°¡ 10 Çà ÀÌ¿ÜÀÏ ¶§ ÁöÁ¤ÇÑ 10ÁÙ¿¡¼­ +20±îÁö Áö¿î´Ù´Â ÀǹÌÀÔ´Ï´Ù. :10,+20d·Î ÇÏ¸é ¹¹°¡ ´Þ¶óÁú±î¿ä? ÀÌ·¸°Ô Çϸé 10Çà¿¡¼­ ÇöÀç Çà¿¡¼­ 20À» ´õÇÑ ÁÙ±îÁö Áö¿î´Ù ´Â Àǹ̰¡ µË´Ï´Ù. ´õ ±íÀÌ µé¾î°¡½Ã°í ½ÍÀ¸½Å ºÐÀº ¹®¼­¸¦ ÆíÁýÇÒ ¶§ ex¸ðµå·Î ÆíÁý À» Çغ¸½Ã±â ¹Ù¶ø´Ï´Ù. ex [filename]ÇÏ½Ã¸é µË´Ï´Ù. ÀÌ·¸°Ô Çغ¸½Ã¸é Á» °©°©ÇÏ°ÚÁö ¸¸ ex¸í·É¾î¸¦ È®½ÇÈ÷ ÀÍÈ÷½Ç ¼ö ÀÖÀ¸¸®¶ó »ý°¢ÇÕ´Ï´Ù. 4.1 abbreviations ÀÌ ±â´Éµµ Àß ¾²¸é ¸Å¿ì À¯¿ëÇÑ ±â´ÉÀÔ´Ï´Ù. ±ä ¹®ÀÚ¿­À» ¾à¾î ÀÔ·ÂÀ¸·Î ¾ò ¾î³»´Â °ÍÀÌÁÒ. ´Ù¸¥ ¹æ¹ýÀ¸·Î´Â ÀÚÁÖ Å¸ÀÌÇεǴ ¿ÀŸ¿Í Á¤Å¸¸¦ ¹­¾î¼­ ÀÚµ¿ ¼öÁ¤ ±â´ÉÀ» ÇÏ°Ô ÇÏ´Â °ÍÀÔ´Ï´Ù. ¿ª½Ã ¿¹¸¦ µé¾î ¼³¸íÀ» ÇÏÁÒ. :ab univ. university ¶ó °í ÇØ µÓ½Ã´Ù. ÆíÁý¸ðµå¿¡¼­ univ.¶ó°í ÀÔ·ÂÇÏ°í white character¸¦ ÀÔ·ÂÇÏ´Â ¼ø°£ univ.°¡ university·Î ¹Ù²ð °ÍÀÔ´Ï´Ù. ³»°¡ the¸¦ teh¶ó°í ÀÚÁÖ ¿ÀŸ¸¦ ³½´Ù¸é :ab teh the¸¦ µî·ÏÇØ µÎ¸é µÇ°ÚÁÒ. 4.2 map, map! ÀÌ ±â´Éµµ ¸Å¿ì À¯¿ëÇÕ´Ï´Ù. ¸ÅÅ©·Î¸¦ ¸¸µé¾î ¾µ ¼ö ÀÖµµ·Ï µµ¿ÍÁÝ´Ï´Ù. ¿ì ¼± Ư¼öÅ°ÀÇ ÀԷ¿¡ ´ëÇؼ­ ¾Ë°í ³Ñ¾î°©½Ã´Ù. ex¿¡¼­ [ctrl]-v¸¦ ´©¸£°í [enter]¸¦ ´©¸£¸é ^MÀ̶ó°í Ç¥½ÃµÉ °ÍÀÔ´Ï´Ù. ÀÌ ¹®ÀÚ°¡ [enter]¸¦ ³ªÅ¸³À´Ï´Ù. ºñ½ÁÇÏ°Ô [ctrl]-v¸¦ ´©¸£°í Ư¼öÅ°¸¦ ´©¸£¸é ÇØ´çÇÏ´Â ¹®ÀÚ°¡ Ç¥½ÃµË´Ï´Ù. mapÀ¸·Î Á¤ÀÇÇØ ³õ Àº Å° ÀÔ·ÂÀº ¸í·É¸ðµå¿¡¼­ µ¿ÀÛÀ» ÇÏ°í map!·Î ¸¸µé¾î ³õÀ¸¸é ÆíÁý¸ðµå¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. [esc]Å°°¡ ³Ê¹« ¸Ö¾î¼­ ´©¸£±â Èûµå½Å ºÐÀº :map! ^H ^[ ·Î ÇØ º¸½Ã ±â ¹Ù¶ø´Ï´Ù. [bs]Å°¸¦ ´©¸£°Ô µÇ¸é ÆíÁý¸ðµå¿¡¼­ ¸í·É¸ðµå·Î ¹Ù²î°Ô µË´Ï´Ù. ÀÚÁÖ »ç¿ëÇÏÁö ¾Ê´Â Å°¸¦ ¸ÅÇÎÇؼ­ »ç¿ëÇÒ ¼ö ÀÖ°ÚÁö¿ä. óÀ½ ½ÃÀÛ¸¸ ¸í·É¾î ¸ðµå¿¡¼­ »ç ¿ëÇÏ°í ÆíÁý¸ðµå¿¡¼­ »ç¿ëÇÑ´Ù´Â Àǹ̰¡ ÀÖÀ» »Ó Å° ÀÔ·ÂÀ» ±×´ë·Î ´ë½ÅÇØ ÁֹǷΠ½Ç Á¦·Î´Â µÎ ¸ðµå°£À» ÀÚÀ¯·Ó°Ô ³Ñ³ªµé ¼ö ÀÖ½À´Ï´Ù. Áï :map & I/*^[A*/^[ ÀÌ·¸°Ô ÇØ ³õÀ¸¸é &Å°¸¦ ´©¸£¸é ÇöÀç ÁÙÀ» C¹®ÀÇ ÁÖ¼®À¸·Î ¸¸µé¾î ¹ö¸³´Ï´Ù. ÀÌ ¸í·É¿¡¼­´Â »ð ÀÔ°ú ¸í·É ¸ðµå¸¦ µÎ ¹øÀ̳ª ³Ñ³ªµé¾úÁÒ. FunctionÅ°¿¡ ´ëÇؼ­µµ ÀÌ·¯ÇÑ ¸ÅÇÎÇÏ´Â °Í ÀÌ °¡´ÉÇѵ¥ Â÷·Ê·Î #1 ~ #9 ¹øÀÌ functionÅ°¸¦ ³ªÅ¸³À´Ï´Ù. :map #1 commands ÀÌ·± Çü½ÄÀÔ´Ï´Ù. ¾Æ´Ï¸é À§¿¡¼­ Çß´ø °Íó·³ [ctrl]-v ´ÙÀ½¿¡ functionÅ°¸¦ ´­·¯¼­ ÀÔ·Â À» ¹Þ¾Æµµ µË´Ï´Ù. ¾Æ´Ï¸é ~ ¸¦ ´ë½Å ½áÁ־ µÇ°í (ÀÌ <>¿¡ °ªÀº /etc/termcap ¿¡ Á¤ÀǵǾî¾ß ÇÕ´Ï´Ù.) 4.3 @-function Named buffer¸¦ ÀÌ¿ëÇÑ macroÀÔ´Ï´Ù. °³³äÀº ¸Å¿ì °£´ÜÇÑ °ÍÀÌÁÒ. insert¸ð µå¿¡¼­ ¸ÅÅ©·Î·Î »ç¿ëÇÒ Å° ÀÔ·ÂÀ» ±×´ë·Î Ä£ ÈÄ¿¡ "add "ayyµîÀÇ Çü½ÄÀ¸·Î named buffer a¿¡ ÀúÀåÀ» ÇÕ´Ï´Ù. ÀÌ ¸ÅÅ©·Î¸¦ ºÒ·¯¼­ ¾µ ¶§ @¸¦ ¾Õ¿¡ ¾²°í µÚ¿¡ ¹öÆÛ¸íÀ» ¾¹´Ï´Ù. Áï @a¶ó°í Ä¡°Ô µÇ¸é ¾Æ±î ¸¸µé¾î¼­ a¹öÆÛ¿¡ ³Ö¾ú´ø Å° ÀÔ·ÂÀÌ ±×´ë·Î ¹Ýº¹ µÇ´Â °ÍÀÌÁÒ. @@¶ó¸é ¸¶Áö¸·¿¡ ¹öÆÛ¿¡ µé¾î°£ °ÍÀ» ½ÇÇàÇÏ°Ô µË´Ï´Ù. Çã ÀÌ°Ç ex¸í·É °ú º° °ü°è°¡ ¾ø´Â ±ÛÀ̱º¿ä. ÂÁ~ ¼öÁ¤ÇÏ·Á¸é Â÷·Êµµ ¼öÁ¤ÇÏ¿©¾ß ÇÏ´Â ... --; 4.4 shell commandÀÌ¿ë ¿ì¼± ´Ù¸¥ ¿¡µðÅÍ¿¡¼­Ã³·³ shell¸ðµå·Î ºüÁ®³ª°¡·Á¸é :sh ¶ó°í ÀÔ·ÂÇÏ¸é µË ´Ï´Ù. ´Ù½Ã º¹±ÍÇÏ·Á¸é [ctrl]-d¸¦ ´©¸£¸é ´Ù½Ã vi·Î µÇµ¹¾Æ ¿À°Ô µË´Ï´Ù. ÇÏÁö¸¸ vi ´Â shell·Î ³ª°¡Áö ¾Ê°í ex¿¡¼­ ¹Ù·Î shell»óÀÇ ¸í·ÉÀ» ½ÇÇà ½Ãų ¼ö ÀÖ½À´Ï´Ù. ¹Ù·Î ! ±âÈ£¸¦ ÀÌ¿ëÇÕ´Ï´Ù. !gcc -c % ÀÌ·± ½Äµµ °¡´ÉÇÏ°ÚÁÒ. :r !ls¶ó°í ÃÄ º¾½Ã´Ù. ls°¡ ½ÇÇàµÇ°í ±× °á°ú°¡ Áö±Ý À§Ä¡¿¡ µ¡ºÙ¿©Áý´Ï´Ù. ------------------------------------------------------------------------------- total 18 drwxrwxr-x 2 nu11 nu11 1024 May 25 22:01 . drwx------ 11 nu11 nu11 2048 May 25 22:01 .. -rw------- 1 nu11 nu11 12288 May 25 22:01 .vi-beginner.txt.swp -rw-rw-r-- 1 nu11 nu11 14 May 25 21:59 test -rw-rw-r-- 1 nu11 nu11 1583 May 25 22:01 vi-beginner.txt ------------------------------------------------------------------------------- °°Àº ¹æ¹ýÀ¸·Î ÀÚüÀûÀÎ Á¤·ÄÀ» ÇÏ´Â ¸í·ÉÀº ¾øÁö¸¸ sort¶ó´Â °­·ÂÇÑ ¼ÒÆ® ÇÁ·Î±×·¥À» ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. sort¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ´Ù¸¥ Ã¥À» Âü°í ÇÏ½Ã±æ ¹Ù¶ó°í, ´ÙÀ½°ú °°ÀÌ °£´ÜÇÑ ¿¹¸¸ µé¾îº¸À̵µ·Ï ÇÏ°Ú½À´Ï´Ù. À§ÀÇ ³»¿ëÀ» Å©±â¿¡ µû ¶ó¼­ Á¤·ÄÀ» ÇØ º¼±î¿ä? :2,$ !sort +4 ------------------------------------------------------------------------------- total 18 -rw-rw-r-- 1 nu11 nu11 14 May 25 21:59 test drwxrwxr-x 2 nu11 nu11 1024 May 25 22:01 . -rw-rw-r-- 1 nu11 nu11 1583 May 25 22:01 vi-beginner.txt drwx------ 11 nu11 nu11 2048 May 25 22:01 .. -rw------- 1 nu11 nu11 12288 May 25 22:01 .vi-beginner.txt.swp ------------------------------------------------------------------------------- ÀÚ ÀÌÁ¦ ¸¹°í ¸¹Àº À¯´Ð½º ¼¿ ¸í·É¾îµéÀ» ¸ðµÎ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹«¾ùÀ» ´õ ÇÒ ¼ö ÀÖÀ»Áö´Â ... ^^; 4.5 set, Àڽſ¡ ¸Â´Â vi ¸¸µé±â ÀÚ½ÅÀÇ ÀÛ¾÷ȯ°æ¿¡ ¸Â°Ô vi¸¦ ¼¼ÆÃÇÏ´Â ¹ýÀÔ´Ï´Ù. ¿ì¼± setÇÒ ¼ö ÀÖ´Â ¸ñ·Ï Àº set allÇϸé ÁÖ·ç·è ½ºÅ©·ÑÀÌ µÇ¸é¼­ ¿Ã¶ó°©´Ï´Ù. Çϳª¾¿ ¼³¸íÇϸé Áö±Ý±îÁö ½á¿Â °Í ¸¸Å­À̳ª ½á¾ß ÇÒ °Í °°³×¿ä. ^^; ½Ã°£ÀÌ ³ª¸é ³ªÁß¿¡ Ãß°¡Çϵµ·Ï ÇÏÁÒ... set nu È­¸éÀÇ ÁÂÃø¿¡ Çà¹øÈ£¸¦ Ãâ·ÂÇÕ´Ï´Ù. set ruler Ä¿¼­ÀÇ À§Ä¡°¡ ¿ìÃø ÇÏ´Ü¿¡ Ç¥½ÃµË´Ï´Ù. set aw , set ai ...Àú´Â À§¿¡ °ÍµéÀ» ÀÚÁÖ »ç¿ëÇϴ±º¿ä. ÇÑ°¡Áö¸¸ ¾ð±ÞÇÏ°í ³Ñ¾î°¡ÁÒ. Àúµµ óÀ½¿¡ ¸ô¶ó¼­ °í»ý Á» ÇßÁÒ. set aw µî À¸·Î ¼¼ÆÃÀ» Çß´Ù¸é ÀÌ¿¡ ´ëÇÑ ÇØÁ¦´Â set noaw ÀÌ·± ½ÄÀ¸·Î ¾Õ¿¡ no¸¸ ºÙÀÌ¸é µÈ´Ù ´Â °Ì´Ï´Ù. --; 4.6 ¿¬½À¹®Á¦ (1) ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ¶óÀÎÀ» ÁÖ¼®À¸·Î ¸¸µå´Â @-functionÀ» ¸¸µé¾î¶ó. 6. vim¿¡ Ãß°¡µÈ ±â´Éµé 6.1 multi-window vimÀº ¸ÖƼ À©µµ¿ì ±â´ÉÀ» Áö¿øÇÕ´Ï´Ù. ÀÌ ±â´ÉÀº âÀ» ºÐÇÒÇؼ­ ÇϳªÀÇ vi ¿¡ ¿©·¯ °³ÀÇ ÆÄÀÏÀ» º¸¸é¼­ ÆíÁýÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÖ´Â ±â´ÉÀÔ´Ï´Ù. :sp ·Î âÀ» ºÐ ÇÒÇϰųª [ctrl]-wn À¸·Î âÀ» »õ·Î ¸¸µé ¼ö ÀÖ½À´Ï´Ù. â°£ÀÇ À̵¿Àº command ¸ðµå ¿¡¼­ [ctrl]-ww³ª [ctrl]-wk, [ctrl]-wj µîÀ¸·Î ÇÒ ¼ö ÀÖ½À´Ï´Ù. Á÷Á¢ Çغ¸½Ã´Â ÆíÀÌ ÀÌÇØ°¡ ½¬¿ì¸®¶ó´Â »ý°¢ÀÌ µå³×¿ä. âÀ» ´ÝÀ» ¶§´Â °¢ â¿¡¼­ ÆÄÀÏÀ» ´Ý¾Æµµ µÇ°í [ctrl]-wc ·Î ´ÝÀ» ¼ö ÀÖ½À´Ï´Ù. Àú´Â °³/ÀÎ/Àû/À¸·Î´Â â ±â´ÉÀ» °ÅÀÇ ¾²Áö ¾Ê½À´Ï ´Ù. °¡¶àÀ̳ª ÀûÀº ¸ð´ÏÅÍ¿¡ â±îÁö ºÐÇÒÇÏ¸é º¼ ¼ö ÀÖ´Â ³»¿ëÀÌ ÁÙ¾îµå´Ï±î¿ä. ^^; ¹°·Ð :resize µîÀÇ ¸í·ÉÀ̳ª [ctrl]-w+ [ctrl]-w- [ctrl]-w=µîÀÇ ¸í·ÉÀ¸·Î âÀÇ Å©±â ÀÇ Á¶ÀýÀÌ °¡´ÉÇÕ´Ï´Ù. ÀÌ·¯¸é Á» ¾µ¸¸ÇÕ´Ï´Ù. 6.2 È®Àå Á¤±ÔÇ¥Çö½Ä ¾Æ·¡ ³»¿ëÀº vim ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ Á¤±ÔÇ¥Çö½Ä¿¡ »ç¿ëµÇ´Â ±âÈ£µéÀÔ´Ï´Ù. ÀÌ °ÍµéÀÌ ´Ù ÇÊ¿äÇÑÁö´Â Àǽɽº·´±º¿ä. À§¿¡¼­µµ Àá±ñ ¸»ÇßµíÀÌ ÀÚÁÖ »ç¿ëµÇ´Â Á¤±Ô½Ä µéÀ» ±âȣȭ ÇØ ³õ¾ÒÀ» »ÓÀÔ´Ï´Ù. ------------------------------------------------------------------------------- Character classes {not in Vi}: \i \i isident=@,48-57,_,192-255 ¿¡ ÇØ´çÇÏ´Â ±ÛÀÚµéÀÔ´Ï´Ù. set isident ¸í·ÉÀ¸·Î È®ÀÎ ¹× Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. \I \I "\i"¿Í °°Áö¸¸ ¼ýÀÚ´Â Á¦¿Ü \k \k keyword·Î »ç¿ëÇÏ´Â ¹®ÀÚ, set iskeyword Âü°í \K \K "\k"¿Í °°Áö¸¸ ¼ýÀÚÁ¦¿Ü \f \f ÆÄÀÏÀ̸§À¸·Î »ç¿ëÇÏ´Â ¹®ÀÚ, set isfnameÂü°í \F \F "\f"¿Í °°Áö¸¸ ¼ýÀÚ Á¦¿Ü \p \p ÇÁ¸°Æ® °¡´ÉÇÑ ¹®ÀÚ, set isprintÂü°í \P \P "\p"¿Í °°Áö¸¸, ¼ýÀÚ Á¦¿Ü \s \s whitespace character: and \S \S non-whitespace character; opposite of \s \d \d digit: [0-9] \D \D non-digit: [^0-9] \x \x hex digit: [0-9A-Fa-f] \X \X non-hex digit: [^0-9A-Fa-f] \o \o octal digit: [0-7] \O \O non-octal digit: [^0-7] \w \w word character: [0-9A-Za-z_] \W \W non-word character: [^0-9A-Za-z_] \h \h head of word character: [A-Za-z_] \H \H non-head of word character: [^A-Za-z_] \a \a alphabetic character: [A-Za-z] \A \A non-alphabetic character: [^A-Za-z] \l \l lowercase character: [a-z] \L \L non-lowercase character: [^a-z] \u \u uppercase character: [A-Z] \U \U non-uppercase character [^A-Z] \e \e \t \t \r \r \b \b \n \n matches Not available yet! Will be used for multi-line patterns ~ \~ matches the last given substitute string ------------------------------------------------------------------------------- 6.3 visual mode vim¿¡¼­ [ctrl]-v ¸¦ ´©¸¥ ä·Î À̵¿À» ÇÏ¸é ¹ÝÀüµÈ ¿µ¿ªÀÌ »ý±â´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. óÀ½¿¡ [ctrl]-v¸¦ ´©¸£¸é blockÀ¸·Î ¿µ¿ªÀÌ »ý±é´Ï´Ù. À̶§ v¸¦ ÀÔ·Â ÇÏ¸é ¿µ¿ªÀÌ ¹®ÀÚ ´ÜÀ§·Î ÀâÈ÷°í, V¸¦ ´©¸£¸é ¶óÀδÜÀ§·Î ¿µ¿ªÀÌ »ý±é´Ï´Ù. ¼±ÅÃµÈ ¿µ¿ªÀÌ »ý°åÀ» ¶§ ¾µ ¼ö ÀÖ´Â ¸í·Éµé ------------------------------------------------------------------------------- ~ ´ë¹®ÀÚ <-> ¼Ò¹®ÀÚ Àüȯ d »èÁ¦ c ġȯ y ¹öÆÛ¿¡ º¹»ç > set shiftwidth·Î Á¤ÀÇÇØ ³õÀº ¸¸Å­ ¿ì·Î À̵¿ < set shiftwidth·Î Á¤ÀÇÇØ ³õÀº ¸¸Å­ Á·ΠÀ̵¿ : ¼±ÅÃÇÑ ¿µ¿ª¿¡ ´ëÇؼ­ ex ¸í·ÉÀ» ¼öÇà J ÁÙÀ» ÇÕÄ£´Ù. U ´ë¹®ÀÚ·Î ¸¸µç´Ù. u ¼Ò¹®ÀÚ·Î ¸¸µç´Ù. ^] tag¸¦ ã´Â´Ù. ------------------------------------------------------------------------------- 6.4 tag stack tag¶õ ÇÑ ¸¶µð·Î ¼³¸íÇÏÀÚ¸é tags ÆÄÀÏ¿¡ Á¸ÀçÇÏ´Â Á÷Á¢ À̵¿À» À§ÇÑ Ç¥½ÃÀÔ ´Ï´Ù. (³»¿ëÀ» º¸¸é À̰͵µ ¸ÅÅ©·ÎÀÔ´Ï´Ù.--;) ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Ùº¸¸é ÇÔ¼öÀÇ ³»¿ë À» ¾Ë°í ½ÍÀº °æ¿ì°¡ »ý±âÁÒ. ÀÌ·± ¶§ ±× ÇÔ¼ö·Î Á÷Á¢ À̵¿À» Çß´Ù°¡ ´Ù½Ã ÆíÁýÇÏ´ø °÷À¸·Î À̵¿À» ÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÝ´Ï´Ù. ´ÙÀ½°ú °°Àº ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù°í ÇսôÙ. main.c ------------------------------------------------------------------------------- #include"my.h" void main(){ hello(); bye(); } ------------------------------------------------------------------------------- my.h ------------------------------------------------------------------------------- #include void hello(){ puts("Hello, vi user"); }; void bye(){ puts("Good bye"); }; ------------------------------------------------------------------------------- ÀÚ ÀÌÁ¦ ctags·Î tags ÆÄÀÏÀ» ¸¸µì´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÇ°ÚÁö¿ä. :!ctags *.[ch] ȤÀº ´Ù¸¥ ¼¿»ó¿¡¼­ [nu11@foo vi_test]$ ctags *.[ch] ÀÌÁ¦ tag stackÀÇ ±â´ÉÀ» È°¿ëÇØ º¾½Ã´Ù. vi main.c·Î main.c¸¦ ¿­¾îº¾½Ã´Ù. hello() ¾ÕÀ¸·Î À̵¿À» ÇÕ´Ï´Ù. ¾î¶»°Ô °¥Áö´Â ¾Ë¾Æ¼­µé ÇϽñæ... ÀÌ À§Ä¡¿¡¼­ [ctrl]] Å°¸¦ ´©¸¨´Ï´Ù. (^]ÀÔ´Ï´Ù. ÄÁÆ®·ÑÅ°¸¦ ´©¸¥ »óÅ¿¡¼­ ]) È­¸éÀÌ ¹Ù²î¸é¼­ void hello(){ ÀÇ ¸Ç ¾Õ¿¡ hello°¡ À§Ä¡ÇÏ°Ô µÇÁÒ. ÇÔ¼öÀÇ ³»¿ëÀ» È®ÀÎÇÏ¿´À¸¸é ´Ù½Ã [ctrl]t¸¦ ´© ¸¨´Ï´Ù. ´Ù½Ã ¿ø·¡ À§Ä¡·Î º¹±Í¸¦ ÇÕ´Ï´Ù. ´Ù½Ã bye()°¡ ÀÖ´Â ÁÙ¿¡¼­ [ctrl]]¸¦ ´©¸£ ¸é ´Ù½Ã my.h°¡ ¿­¸®¸é¼­ void bye()ÁÙ¿¡ Ä¿¼­°¡ À§Ä¡ÇÕ´Ï´Ù. ´Ù½Ã º¹±Í´Â [ctrl]t. vimÀÇ HELP¿¡µµ tagsÈ­ÀÏÀÌ Á¸ÀçÇÕ´Ï´Ù. :help·Î help ¹®¼­¸¦ º¸´Ùº¸¸é ||·Î µÑ·¯½ÎÀÎ °ÍµéÀÌ Àִµ¥ ÀÌ À§¿¡¼­ ^]¸¦ ´©¸£¸é HYPER TEXTó·³ ±× ÆÄÀÏ·Î À̵¿À» ÇÕ ´Ï´Ù. ´Ù½Ã ^t¸¦ ´©¸£¸é º¹±Í±¸¿ä. 6.5 ÇÁ·Î±×·¡¹ÖÀ» À§ÇÑ ¸í·Éµé vim¿¡´Â tag stackÀÌ¿Ü¿¡µµ ÇÁ·Î±×·¡¹Ö¿¡ Æí¸®ÇÑ ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù. ¹Ù·Î ÄÄÆÄÀÏ ÈÄ¿¡ ¿¡·¯°¡ ³­ °÷À¸·Î ¹Ù·Î À̵¿À» ÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÖ´Â ±â´ÉÀÔ´Ï´Ù. ¿ì¼± ÄÄÆÄÀϽÿ¡ ¸¸µé¾îÁø error ÆÄÀÏÀ» ÀúÀåÇØ¾ß ÇÕ´Ï´Ù. ¸¸¾à¿¡ MakefileÀÌ ¸¸µé¾îÁ® ÀÖ ´Ù¸é :make ¸í·É ÇÑ ¹ø¸¸ ³»¸®¸é ÀÚµ¿À¸·Î errorfileÀÌ ¸¸µé¾îÁö°í ¿¡·¯°¡ ¹ß»ýÇÑ Çà À¸·Î À̵¿À» ÇÕ´Ï´Ù. :clÀ» ÀÔ·ÂÇÏ¸é ¿¡·¯ ¸®½ºÆ®°¡ ³ª¿À°í :cnÀ» ÀÔ·ÂÇÏ¸é ¿¡·¯°¡ ³­ ´ÙÀ½ ÇàÀ¸·Î ÀÚµ¿À¸·Î À̵¿À» ÇÕ´Ï´Ù. :cN Àº ¹Ý´ë ¹æÇâÀ¸·Î ¿¡·¯°¡ ³­ ÇàÀ¸·Î ÀÌ µ¿À» ÇÕ´Ï´Ù. ¿©·¯ ÆÄÀÏ·Î ÀÌ·ç¾îÁø ¼Ò½ºÀÇ °æ¿ì¿¡µµ ´Ù ¿­¾î°¡¸é¼­ µé¾î°©´Ï´Ù. main.c ------------------------------------------------------------------------------- #include"my.h" void added(){ This makes error }; void main(){ hello(); bye(); added(); } ------------------------------------------------------------------------------- my.h ------------------------------------------------------------------------------- #include void hello(){ this also makes error puts("Hello, vi user"); }; void bye(){ puts("Good bye"); }; ------------------------------------------------------------------------------- Makefile ------------------------------------------------------------------------------- all : main.c my.h gcc -o test main.c my.h clean : test rm -f test ------------------------------------------------------------------------------- ÀÌ·¸°Ô ¸¸µé¾î ³õ°í vi main.c¿¡¼­ :make¸¦ ÇØ º¾½Ã´Ù. ¿¡·¯°¡ ÇÑ ¹ø Ãâ·ÂµÈ ÈÄ¿¡ my.hÀÇ "this also makes error" ¶óÀο¡ Ä¿¼­°¡ À§Ä¡ÇÏ°í viÀÇ ¸Ç ¾Æ·¡ÁÙ¿¡´Â "(4 of 12): `this' undeclared (first use this function)" ¶ó°í Ãâ·ÂÀÌ µÉ ²®´Ï´Ù. :cnÀ» ÇØ º¾½Ã´Ù. "(5 of 12): (Each undeclared identifier is reported only once"·Î ¸Þ ½ÃÁö°¡ ¹Ù²î¾úÁö¿ä. ¸î ¹ø :cnÀ» ÇÏ´Ùº¸¸é ´Ù½Ã main.cÀÇ "This makes error" ¶óÀο¡ Ä¿¼­°¡ À§Ä¡ÇÏÁÒ. ¸î ¹ø Çغ¸½Ã¸é ÃæºÐÈ÷ ÀÌÇØÇϸ®¶ó »ý°¢ÇÕ´Ï´Ù. Makefile ÆÄÀÏÀ» ¸¸µéÁö ¾Ê°í ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº ¾ø´Â°¡? ºÐ¸íÈ÷ ÀÖ°ÚÁÒ. ´Ü ¼øÈ÷ ÄÄÆÄÀÏ ¿¡·¯ ¸Þ½ÃÁö°¡ µé¾î ÀÖ´Â ÆÄÀϸ¸ ÀÖÀ¸¸é µ¿ÀÛÀ» Çϴϱî¿ä. Çغ¸µµ·Ï ÇÏ ÁÒ. :!gcc -c main.c >& err.out ÀÌ·¸°Ô Çϸé error ¸Þ½ÃÁö°¡ err.out¿¡ ÀúÀåÀÌ µÇ°Ú Áö¿ä. ´ÙÀ½¿¡ ÇÒ ÀÏÀº ÆÄÀÏÀ» ÁöÁ¤ÇØ ÁÖ´Â °ÍÀÔ´Ï´Ù. :cf err.out ÀÚ ÀÌÁ¦ :makeÇß´ø °Í°ú °°ÀÌ :cnÀ» Çϸ鼭 µð¹ö±ëÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. 6.6 ¿¬½À¹®Á¦ 7. ±âŸ ÆÁ À©µµ¿ìÅ° ¸ÅÇÎÇϱâ - xmodmap À̶õ ¸í·É¾î¸¦ ÀÌ¿ëÇؼ­ 106Å°º¸µå¿¡¼­ »ç¿ëÇÏÁö ¾Ê´Â windowsÅ°¸¦ [esc]Å° ´ë¿ëÀ¸·Î »ç¿ëÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. xmodmap -e "keycode 115=Escape" bash¿¡¼­ vi¸ðµå·Î »ç¿ëÇϱâ- bash¸¦ »ç¿ëÇÏ°í °è½Ã´Ù¸é command line ÆíÁý±â°¡ viÀÇ ¼÷ÀûÀÎ emacs¸ðµå·Î ¼¼ÆõǾî ÀÖ½À´Ï´Ù. ¸í·ÉÀ» Çϳª Ä¡°í [ctrl]-a¸¦ ´©¸£¸é Ä¿¼­°¡ ¸í·ÉÀÇ ¸Ç óÀ½À¸·Î À̵¿À» ÇÏÁö¿ä? ±×·³ emacs¸ðµå ¸Â½À´Ï´Ù. set -o vi ·Î ´çÀå vi ¸ðµå·Î ¹Ù²ãÁֽñ⠹ٶø´Ï´Ù. ^^; ÀÚ ÀÌÁ¦ command line»ó¿¡¼­ Å° À̵¿Àº Áö±Ý±îÁö ¹è¿ö¿Ô´ø Å° ÀԷ°ú °°½À´Ï´Ù. [nu11@foo nu11]$ cd /usr/X11R6/lib/X11/ko/app-defaults/_ »óŶó°í Çսà ´Ù. ÀÌ°É [nu11@foo nu11]$ du /usr/X11R6/lib/X11/ko/app-defaults/ ·Î ¹Ù ²Ù·Á¸é [esc]0cwdu¸¦ Â÷·Ê·Î ´©¸£¸é µÇ°ÚÁÒ. ÀÌÀü¿¡ »ç¿ëÇß´ø ¸í·ÉÀ» ÇÑ ¹ø ã¾Æº¼±î¿ä? [esc]¸¦ ´©¸£°í /cut ¶ó°í ÇØ º¸ ¼¼¿ä. ÀÌÀü¿¡ »ç¿ëÇß´ø cut¶õ ¸í·É¾î°¡ ÇöÀç ÁÙ¿¡ ³ªÅ¸³ª³×¿ä. [nu11@foo nu11]$ ls -l *.EXE |grep "^-" |cut -c33-41 ÀÌ°Ô ¾Æ´Ï¶ó°í¿ä? nÅ°¸¦ ´©¸£¸é °Ë»öÀ» °è¼Ó ÇÏ°ÚÁÒ? [nu11@foo nu11]$ ls -l *.EXE |grep "^-" |cut -c35- °¡ ³ª¿À´Â±º¿ä. ƯÁ¤ ÆÄÀÏÀÌ µé¾î°¡ ÀÖ´Â ¸í·ÉÀ» ãÀ» ¶§µµ ±×·¸°í command mode¿¡¼­ »ç¿ëÇß´ø ¸í·ÉÀ» ¸ðµÎ °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù. »ç½ÇÀº .bash_history ÆÄÀÏÀ» °Ë»öÇÏ´Â °ÍÀÌ°ÚÁÒ. [esc]/doc ¶ó°í Çϴϱî Àú´Â cd doc°¡ °¡Àå ¸ÕÀú ³ªÅ¸³ª´Â±º¿ä. ÇàÀ̵¿ ¸í·Éµéµµ °ÅÀÇ °¡´ÉÇÕ´Ï´Ù. °è¼Ó °Ë»öÀº ¹°·Ð n, NÀÌ°ÚÁÒ. [esc]11G µîÀ» ´© ¸£¸é .bash_history ÆÄÀÏ¿¡ µé¾î°¡ ÀÖ´Â 11¹ø° Ç׸ñÀ¸·Î À̵¿ÀÌ µÇ´Â °ÍÀ» º¼ ¼ö ÀÖ ½À´Ï´Ù. tcsh & csh¿¡¼­ vi¸ðµå·Î »ç¿ëÇϱâ - ÇÁ·ÒÇÁÆ® »ó¿¡¼­ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÏ¸é µË´Ï´Ù. bindkey -v ´Ù½Ã emacs¸ðµå·Î »ç¿ëÇϽ÷Á¸é bindkey -e