2000/03/14 Lee, Hee-joon wideface@sparcs.kaist.ac.kr VI ½ÃÀÛÇϱâ vi filename : ÁöÁ¤ÇÑ ÆÄÀÏÀ» ÆíÁý vi -R filename : Àбâ Àü¿ëÀ¸·Î ¿­±â (°°Àº ÆÄÀÏÀ» Çѹø ´õ ¿­¸é Àбâ Àü¿ëÀ¸·Î ¿­¸²) vi -r : µÇ»ì¸± ¼ö ÀÖ´Â ÆÄÀÏ ¸ñ·ÏÀ» º¸¿©ÁØ´Ù. vi -r filename : ÁöÁ¤ÇÑ ÆÄÀÏÀ» µÇ»ì·Á¼­ ÆíÁýÇÑ´Ù. ¸ðµåº¯È¯ ¸í·É¸ðµå À̵¿, »èÁ¦, º¹»ç, Ž»ö µîÀÇ ¸í·ÉÀ» ¼öÇàÇÑ´Ù. vi ¸¦ óÀ½ ½ÇÇà½ÃÄ×À»¶§´Â ¸í·É¸ðµåÀÌ´Ù. À̶§ ÀԷµǴ ¸ðµç Űº¸µå ÀÔ·ÂÀº vi °¡ ¸í·ÉÀ¸·Î ÇØ¼®ÇÑ´Ù. vi ´Â ¸ðµç ÀԷ¿¡¼­ ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÑ´Ù. ÀԷ¸ðµå·Î µé¾î°¡´Â ¸í·É¿¡´Â a,A,i,I,o,O °¡ ÀÖ´Ù. ¸í·É¸ðµå¿¡¼­ : ¸¦ ´©¸£¸é last-line mode ·Î µé¾î°£´Ù. last-line ¸ðµå¿¡¼­ ESC ۸¦ ´©¸£¸é ´Ù½Ã ÀϹÝÀûÀÎ ¸í·É¸ðµå·Î µ¹¾Æ°£´Ù. ÀԷ¸ðµå ÅØ½ºÆ®ÀÇ ÀÔ·ÂÀÌ °¡´ÉÇÑ »óÅÂÀÌ´Ù. ESC ۸¦ ´©¸£¸é ¸í·É¸ðµå·Î ºüÁ®³ª°£´Ù. Ä¿¼­À̵¿ k h l h(¿ÞÂÊ), j(¾Æ·¡), k(À§), l(¿À¸¥ÂÊ) j Ä¿¼­ÀÇ À̵¿Àº È­»ìÇ¥ ۷εµ °¡´ÉÇÏ´Ù. ÇÏÁö¸¸ À̰ÍÀº ÁÁÁö ¾ÊÀº ½À°üÀÌ´Ù. vi ·Î ÀÛ¾÷ÇÏ´Â µ¿¾È¿¡´Â Űº¸µå À§¿¡¼­ ¹®ÀÚ¸¦ ÀÔ·ÂÇϱâ À§ÇÑ ºÎºÐ¿Ü¿¡´Â ´Ù¸¥ °÷À¸·Î ¼ÕÀ» À̵¿½Ãų Çʿ䰡 ¾ø±â ¶§¹®¿¡ ºü¸¥ ÀÛ¾÷ÀÌ °¡´ÉÇѵ¥ Ä¿¼­À̵¿¿¡ È­»ìÇ¥ ۸¦ ÀÌ¿ëÇÏ´Â °ÍÀº ÀÌ·± ÀåÁ¡À» ¹«½ÃÇÏ´Â °ÍÀ̱⠶§¹®ÀÌ´Ù. 0 ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ÁÙÀÇ Ã³À½À¸·Î À̵¿ÇÑ´Ù. $ ÇöÀç ÁÙÀÇ ¸¶Áö¸·À¸·Î À̵¿ÇÑ´Ù. % (), {}, [] ÀÇ °ýÈ£¹®ÀÚ »çÀ̸¦ À̵¿ÇÑ´Ù. ¿ÞÂÊ °ýÈ£¿¡ Ä¿¼­¸¦ µÎ°í % ¸¦ ´©¸£¸é ÀÌ °ýÈ£¸¦ ´Ý´Â ¿À¸£ÂÊ °ýÈ£·Î Ä¿¼­°¡ À̵¿Çϰí, ¿À¸¥ÂÊ °ýÈ£¿¡¼­ ´©¸£¸é ¿ÞÂʰýÈ£·Î À̵¿ÇÑ´Ù. C ·Î ÄÚµùÇÒ¶§ °ýÈ£¸¦ Á¦´ë·Î ´Ý¾Ò´ÂÁö È®ÀÎÇϱ⿡ ÆíÇÏ´Ù. w,W ´ÙÀ½ ´Ü¾îÀÇ Ã¹ ±ÛÀÚ·Î Ä¿¼­¸¦ À̵¿ÇÑ´Ù. W ´Â ´Ü¾î ±¸ºÐÀ» ¶ç¾î¾²±â·Î Çϰí, w ´Â ¿µ¾î±Ç¿¡¼­ ´Ü¾î¸¦ ±¸ºÐÇÏ´Â ¹æ½ÄÀ¸·Î ´Ü¾î¸¦ ±¸ºÐÇÑ´Ù. void main(main_arg) ¶ó´Â ¹®ÀÚ¿­À» w, W ·Î À̵¿ÇØ º¸±â ¹Ù¶õ´Ù. e,E ´ÙÀ½ ´Ü¾îÀÇ ³¡ ±ÛÀÚ·Î Ä¿¼­¸¦ À̵¿ÇÑ´Ù. e ¿Í E ÀÇ Â÷ÀÌ´Â w,W ÀÇ Â÷ÀÌ¿Í °°´Ù. b,B ÀÌÀü ´Ü¾îÀÇ Ã¹ ±ÛÀÚ·Î Ä¿¼­¸¦ À̵¿ÇÑ´Ù. ¿ª½Ã w,W ÀÇ Â÷ÀÌ¿Í °°´Ù. ^u, ^d ¹Ý È­¸é ´ÜÀ§·Î À§, ¾Æ·¡·Î À̵¿ÇÏ´Â ¸í·ÉÀÌ´Ù. up, down ÀÇ ÀǹÌÀÌ´Ù. ^b, ^f ÇÑ È­¸é ´ÜÀ§·Î À§, ¾Æ·¡·Î À̵¿ÇÏ´Â ¸í·ÉÀÌ´Ù. backward, forward ÀÇ ÀǹÌÀÌ´Ù. #gg, #G, :# # ¿¡´Â ¼ýÀÚ¸¦ ÀÔ·ÂÇÑ´Ù. ¼¼°¡Áö ¸ðµÎ ÁöÁ¤ÇÑ ÇàÀ¸·Î À̵¿ÇÏ´Â ¸í·ÉÀÌ´Ù. gg, G ¹®¼­ÀÇ Ã¹Â°ÁÙ·Î À̵¿, ¹®¼­ÀÇ ³¡ÁÙ·Î À̵¿ÇÏ´Â ¸í·ÉÀÌ´Ù. »ðÀÔ a ÇöÀç Ä¿¼­À§Ä¡ ´ÙÀ½ºÎÅÍ ÀÔ·Â A ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ÁÙÀÇ Á¦ÀÏ ³¡ºÎÅÍ ÀÔ·Â i ÇöÀç Ä¿¼­À§Ä¡ºÎÅÍ ÀÔ·Â I ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ÁÙÀÇ Ã³À½ºÎÅÍ ÀÔ·Â o ÇöÀç Ä¿¼­À§Ä¡ÀÇ ¾Æ·¡¿¡ »õ·Î¿î ÁÙÀÌ »ý±â¸é¼­ ÀԷ»óÅ·ΠµÈ´Ù. O Ä¿¼­À§Ä¡ÀÇ À§¿¡ »õ·Î¿î ÁÙÀÌ »ý±â¸é¼­ ÀԷ»óÅ·ΠµÈ´Ù. »èÁ¦ (Àß¶ó³»±â) vi ¿¡¼­ÀÇ »èÁ¦´Â À©µµÃ¼Á¦ÀÇ ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ÀÇ 'Àß¶ó³»±â'¿Í °°Àº ±â´ÉÀÌ´Ù. x Ä¿¼­ À§Ä¡ÀÇ ÇÑ ¹®ÀÚ »èÁ¦ X Ä¿¼­ ¿ÞÂÊÀÇ ÇÑ ¹®ÀÚ »èÁ¦ D Ä¿¼­À§Ä¡ºÎÅÍ ÁÙ ³¡±îÁö »èÁ¦ dw Ä¿¼­°¡ À§Ä¡ÇÑ ÇÑ ´Ü¾î¸¦ »èÁ¦ dd Ä¿¼­°¡ À§Ä¡ÇÑ ÇÑ ÁÙÀ» »èÁ¦ #dd # ¿¡ ÀÔ·ÂÇÑ ¼ö¸¸Å­ÀÇ ÁÙÀ» »èÁ¦ :10d 10¹øÂ° ÁÙÀ» »èÁ¦ :10,20d 10~20 ÁÙ »èÁ¦ º¹»ç & ºÙ¿©³Ö±â yy,Y ÇÑ ÁÙ º¹»ç #yy # ¿¡ ÀÔ·ÂÇÑ ¸¸Å­ÀÇ ÁÙÀ» º¹»ç p(¼Ò¹®ÀÚ) Ä¿¼­ÀÇ ¾Æ·§Á٠ȤÀº Ä¿¼­ µÚ¿¡ ºÙ¿©³Ö±â P Ä¿¼­ÀÇ À­Á٠ȤÀº Ä¿¼­ ¾Õ¿¡ ºÙ¿©³Ö±â ºÙ¿©³Ö±â ¸í·ÉÀ¸·Î '»èÁ¦(Àß¶ó³»±â)' ¸í·ÉÀ¸·Î »èÁ¦ÇÑ °ÍÀ» ºÙ¿©³ÖÀ» ¼ö ÀÖ´Ù. :10co20 10¹øÂ° ÁÙÀ» º¹»ç, 20¹øÂ° ÁÙ ¹Ø¿¡ »ðÀÔ :10,20co30 10~20 ÁÙÀ» º¹»ç, 30¹øÂ° ÁÙ ¹Ø¿¡ »ðÀÔ :10m20 10¹øÂ° ÁÙÀ» Àß¶ó³»¾î 20¹øÂ° ÁÙ ¹ØÀ¸·Î À̵¿ Ž»ö /¹®ÀÚ¿­ ¾Æ·¡ÂÊÀ¸·Î ¹®ÀÚ¿­ ã±â / ¾Æ·¡ÂÊÀ¸·Î ÀÌÀü¿¡ ã¾Ò´ø ¹®ÀÚ¿­ ã±â ?¹®ÀÚ¿­ À§ÂÊÀ¸·Î ¹®ÀÚ¿­ ã±â ? À§ÂÊÀ¸·Î ÀÌÀü¿¡ ã¾Ò´ø ¹®ÀÚ¿­ ã±â n / ȤÀº ? ¸í·ÉÀ» °°Àº ¹æÇâÀ¸·Î ´Ù½Ã ã±â N / ȤÀº ? ¸í·ÉÀ» ¹Ý´ë ¹æÇâÀ¸·Î ´Ù½Ã ã±â ġȯ :s/from/to/ ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ÁÙ¿¡¼­ from À̶ó´Â ¹®ÀÚ¿­À» to ¶ó´Â ¹®ÀÚ¿­·Î ¹Ù²Þ :1,10s/from/to/g 1~10 ÁÙ ±îÁö ¹Ù²Ù±â ¹üÀ§ ÁöÁ¤Çϱ⠺¹»ç, »èÁ¦, ġȯ ¸í·É µî¿¡¼­´Â Àû¿ë¹üÀ§¸¦ ÁÙ ¼ö Àִµ¥ À̶§ ¹üÀ§¸¦ ³ªÅ¸³»±â À§ÇÑ Æ¯¼öÇÑ ¹®ÀÚµéÀÌ ÀÖ´Ù. $ ¹®¼­ÀÇ ³¡ ÁÙ . Ä¿¼­°¡ À§Ä¡ÇÏ´Â ÁÙ % ¹®¼­ Àüü 1,10 1~10 ÁÙ ex) :.,$s/abc/cba/ ÀÌ·± ¸í·ÉÀº ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ÁٷκÎÅÍ ¹®¼­³¡±îÁö abc ¶ó´Â ¹®ÀÚ¿­À» cba ·Î ¹Ù²Ù¶ó´Â ¸í·ÉÀÌ´Ù. v(¼Ò¹®ÀÚ) ºí·°ÁöÁ¤. ¾Æ·¡¾ÆÇѱۿ¡¼­ F3 À¸·Î ÁöÁ¤ÇÏ´Â ºí·°°ú °°´Ù. ^v ºí·°ÁöÁ¤. ¾Æ·¡¾ÆÇѱۿ¡¼­ F4 ·Î ÁöÁ¤ÇÏ´Â ºí·°°ú °°´Ù. V(´ë¹®ÀÚ) ÁÙ´ÜÀ§·Î ºí·°À» ÁöÁ¤ÇÑ´Ù. ºí·°ÁöÁ¤À» ÇÑ ÈÄ º¹»ç, »èÁ¦, ġȯ ¸í·ÉÀ» ³»¸± ¼ö ÀÖ´Ù. ¹Ù²Ù±â(°íÄ¡±â) J Ä¿¼­°¡ À§Ä¡ÇÑ ÁÙ°ú ±× ¾Æ·§ÁÙÀ» ÇÑ ÁÙ·Î ¸¸µç´Ù. r Ä¿¼­°¡ À§Ä¡ÇÑ ÇÑ ¹®ÀÚ¸¦ ´Ù¸¥ ¹®ÀÚ·Î ¹Ù²Û´Ù. abc -> aec ·Î ¹Ù²Ù·Á¸é, 'b' À§¿¡ Ä¿¼­¸¦ µÎ°í re ¶ó°í ´©¸£¸éµÈ´Ù. R Ä¿¼­°¡ À§Ä¡ÇÑ ºÎºÐºÎÅÍ ÀÔ·ÂÇϴ´ë·Î °ãÃĽáÁø´Ù. ¿öµåÇÁ·Î¼¼¼­ÀÇ '¼öÁ¤'»óŰ¡ µÇ´Â°ÍÀ̶ó »ý°¢ÇϸéµÈ´Ù. s Ä¿¼­°¡ À§Ä¡ÇÑ ÇÑ ¹®ÀÚ´Â °ãÃĽáÁö°í, ±× µÚ·Î ÀԷµǴ ¹®ÀÚµéÀº »ðÀԵȴÙ. C 'D' ¸í·ÉÀ¸·Î Áö¿ì°í ÀԷ»óÅ·Πº¯ÇÏ´Â °ÍÀ̶ó°í »ý°¢ÇÏ¸é µÈ´Ù. cw Ä¿¼­°¡ À§Ä¡ÇÑ ÇÑ ´Ü¾î°¡ Áö¿öÁö°í »ðÀÔ»óÅ·Πµé¾î°£´Ù. S,cc Ä¿¼­°¡ À§Ä¡ÇÑ ÁÙÀÌ Áö¿öÁö°í »ðÀÔ»óÅ·Πµé¾î°£´Ù. ~ Ä¿¼­°¡ À§Ä¡ÇÑ °÷ÀÇ ´ë¼Ò¹®ÀÚ°¡ ¹Ù²ï´Ù. ±âŸ u ¸¶Áö¸· ÀÛ¾÷À» Ãë¼ÒÇÑ´Ù. °è¼ÓÇØ¼­ u ¸¦ ´©¸£°ÔµÇ¸é ÀÌÀü¿¡ Çß´ø ÀÛ¾÷µéÀ» °è¼Ó °Å½½·¯ ¿Ã¶ó°£´Ù. . ¸¶Áö¸· ÀÛ¾÷À» ¹Ýº¹ÇÑ´Ù. <<,>> Ä¿¼­°¡ À§Ä¡ÇÑ ÁÙÀ» ¿ÞÂÊ, ¿À¸¥ÂÊÀ¸·Î À̵¿½ÃŲ´Ù. À̶§ ¸î Ä­À» À̵¿½Ãų°ÍÀÎÁö¿¡ ´ëÇÑ ¼³Á¤ÀÌ set sw ÀÌ´Ù. ÆÄÀϰü·Ã ¸í·É :r filename ÆÄÀÏÀ» Àоî¿Í¼­ ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ÁÙ ¾Æ·¡¿¡ »ðÀÔÇÑ´Ù. :10r filename ¸í·ÉÀº 10°ÁÙ ¾Æ·¡¿¡ ÆÄÀÏ ³»¿ëÀ» »ðÀÔÇÑ´Ù. :w [filename] ÆÄÀϸíÀ» ÁÖÁö ¾ÊÀ¸¸é ÇöÀç ÆíÁýÁßÀÎ ÆÄÀÏ¿¡ ÀúÀåÇÏ°í ÆÄÀϸíÀ» ÁÖ¸é ±× ÆÄÀÏ¿¡ ÀúÀåÇÑ´Ù. :wq ÀÛ¾÷ÁßÀÎ ÆÄÀÏ¿¡ ÀúÀåÇϰí vi ¸¦ Á¾·áÇÑ´Ù. :q ÀÛ¾÷ÁßÀÎ ÆÄÀÏÀ» ÀúÀåÇÏÁö ¾Ê°í vi ¸¦ Á¾·áÇÑ´Ù. ÆÄÀÏÀ» ÆíÁýÇß´Ù¸é vi ¸¦ Á¾·áÇÒ ¼ö ¾ø´Ù. :q! ÆÄÀÏÀ» ÆíÁýÇÑ °ÍÀ» ÀúÀåÇÏÁö ¾ÊÀºÃ¤·Î vi ¸¦ Á¾·áÇÑ´Ù. :x,ZZ ÆÄÀÏÀ» ÆíÁýÇß´Ù¸é :wq ¿Í °°Àº ¿ªÇÒÀ» Çϰí, ÆíÁýÇÏÁö ¾Ê¾Ò´Ù¸é :q ¿Í °°´Ù. :e [filename] ÀÛ¾÷ÁßÀÎ ÆÄÀÏÀ» ´Ý°í ´Ù¸¥ ÆÄÀÏÀ» ¿¬´Ù. ÆÄÀÏÀ» ÆíÁýÇß´Ù¸é ´Ù¸¥ ÆÄÀÏÀ» ¿­¼ö ¾ø´Ù. :e! [filename] ÀÛ¾÷ÁßÀÎ ÆÄÀÏÀ» ÆíÁýÇß´õ¶óµµ ÀúÀåÇÏÁö ¾ÊÀºÃ¤·Î ´Ý°í, ´Ù¸¥ ÆÄÀÏÀ» ¿¬´Ù. :f, ^G ÆíÁýÁßÀÎ ÆÄÀÏÀÇ Á¤º¸¸¦ È­¸é ¾Æ·§ÁÙ¿¡ Ç¥½ÃÇØÁØ´Ù. ȯ°æ¼³Á¤ :set ÇöÀç ¼³Á¤µÈ ȯ°æº¯¼öµéÀ» Ãâ·ÂÇØÁØ´Ù. :set all ¸ðµç ȯ°æº¯¼öµéÀ» Ãâ·ÂÇØÁØ´Ù. :set nu(number) ÁÙ¹øÈ£¸¦ º¸¿©ÁØ´Ù. ÇØÁ¦´Â :set nonu :set ai(autoindent) ÀÚµ¿µé¿©¾²±â. µé¿©¾²±â¸¦ ÇÏ°í ¿£ÅÍ·Î ÁÙÀ» ¹Ù²åÀ»¶§ µé¿©¾´ °ÍÀ» À¯ÁöÇØÁØ´Ù. ÇØÁ¦´Â :set noai :set cindent C Äڵ忡 ¸ÂÃá ÀÚµ¿ µé¿©¾²±â. ÇØÁ¦´Â :set nocindent :set ts(tapstop)=8 tap Ű·Î °Ç³Ê¶Ù´Â Ä­ ¼ö¸¦ 8·Î ¼³Á¤. :set sw(shiftwidth)=8 ÁÙ ¹Ð¾î³»±â Ä­ ¼ö¸¦ 8·Î ¼³Á¤. :set ¸í·ÉÀ¸·Î ¼³Á¤ÇÑ È¯°æº¯¼öµéÀº vi ¸¦ Á¾·áÇÑ ÈÄ ´Ù½Ã ½ÇÇà½ÃŰ¸é ±âº»°ªÀ¸·Î µ¹¾Æ°¡¹ö¸°´Ù. ÀڽŸ¸ÀÇ ¼³Á¤À» Ç×»ó À¯ÁöÇÏ·Á¸é Ȩµð·ºÅ丮¿¡ .vimrc ¶ó´Â ÆÄÀÏÀ» ¸¸µé¾îµÐ´Ù. .vimrc ´Â vim ÀÇ È¯°æ¼³Á¤ ÆÄÀÏÀÌ´Ù.