Vi ÆíÁý±â ÀÔ¹®(Begging Editor vi) Vi ÆíÁý±â ÀÛ¾÷Àº ¸í·É¸ðµå¿Í ÀԷ¸ðµåÀÇ µÎ »óŰ¡ ÀÖ´Ù. Ãʱâ 'vi fname'À» ½ÇÇàÇϸé âÀÌ ¹Ù²î¸é¼­ ¸í·É¸ðµå(Command mode)°¡ µÈ´Ù. 1) vi ½ÃÀÛ: . $vi fname vi viÆíÁý±â¸¦ È£ÃâÇÑ´Ù. vi filename ±âÁ¸¿¡ ÀÖ´Â ÆÄÀÏÀÌ¸é ±× ÆÄÀÏÀ» ¿­°í ¾ø´Â ÆÄÀÏÀÌ¸é »õ·Î ¸¸µç´Ù. vi + 10filename ÁöÁ¤È­ÀÏÀÇ 10¹øÂ° ÇàºÎÅÍ È­ÀÏ¿­±â vi +/"school" filename ÁöÁ¤È­Àϳ»ÀÇ schoolÀ̶õ ´Ü¾î°¡ óÀ½³ª¿À´Â ½ÃÁ¡ºÎÅÍ ¿­±â vi -r filename ¼Õ»óµÈ ÆÄÀÏÀ» º¹±¸ view filename ¼öÁ¤¾øÀÌ ÀбâÀü¿ëÀ¸·Î ¿­±â vi filenames ¿©·¯ ÆÄÀϸíÀ̳ª ¿ÍÀϵåÄ«µå(*,?)·Î ¿©·¯ ÆÄÀÏÀ» Â÷·Ê·Î ºÒ·¯ ÆíÁýÇÒ ¼ö ÀÖ´Ù.(':n' next) 2) ¸í·É¸ðµå: Ä¿¼­ÀÇ À̵¿, ±ÛÀÚ/´Ü¾î/ÁÙÀÇ »èÁ¦³ª ºí·°ÀÇ ¼³Á¤ µî . ÀÔ·ÂÀÌ ¾Æ´Ñ »óÅÂ. . ÀÛ¾÷ Áß ¾ðÁ¦µçÁö ¸¦ ´©¸£¸é ¸í·É¸ðµå°¡ µÈ´Ù. 3) ÀԷ¸ðµå: Űº¸µå·Î ÀԷµǴ ¸ðµç ±ÛÀÚ°¡ ÀԷµǴ »óÅÂ. . ÀԷ¸ðµå(Insert mode) µé¾î°¡±â : 'i'³ª 'a'(Ä¿¼­ ´ÙÀ½¿¡ ÀÔ·Â) È­¸é ÇÏ´Ü¿¡ "Insert" Ç¥½Ã µÊ(Ç¥½Ã°¡ ¾ÈµÇ´Â È­¸éµµ ÀÖÀ½). . ÀԷ¸ðµå¿¡¼­´Â Ä¿¼­¸¦ À̵¿½Ãų ¼ö ¾ø´Ù. ´Ù¸¸ ¹öÁ¯°ú ȯ°æ¿¡ µû¶ó È­»ìÇ¥ Ű(-> <- up, down)·Î À̵¿ÀÌ µÇ´Â °æ¿ìµµ ÀÖÀ½. . ÀԷ¸ðµå ³ª°¡±â(exit): . ´ÙÀ½ÁÙ ÀÔ·Â : 'o' a Ä¿¼­ ¿À¸¥ÂÊ¿¡ ¹®ÀÚ»ðÀÔ A Ä¿¼­ ¿À¸¥ÂÊ, ÇàÀdz¡¿¡ ¹®ÀÚ»ðÀÔ i Ä¿¼­ ¿ÞÂÊ¿¡ ¹®ÀÚ»ðÀÔ I Ä¿¼­¿ÞÂÊ, ÇàÀÇ Ã³À½¿¡ ¹®ÀÚ»ðÀÔ o Ä¿¼­ ¾Æ·¡¿¡ Çà »ðÀÔ O Ä¿¼­ À§¿¡ Çà »ðÀÔ ÀÛ¾÷¿Ï·áÈÄ ¹Ýµå½Ã ÀÔ·Â 4) Cursor À̵¿: up 'k', down 'j', left 'h', right 'l' * ¸í·É¸ðµå¿¡¼­¸¸ »ç¿ëÇÏ¿©¾ß ÇÔ. h ¿ÞÂÊÀ¸·Î À̵¿ k j ¾Æ·¡·Î À̵¿ ^ k À§·Î À̵¿ h <- _ -> l l ¿À¸¥ÂÊÀ¸·Î À̵¿ w ÇÑ´Ü¾î ¿À¸¥ÂÊÀ¸·ÎÀ̵¿ v b ÇÑ´Ü¾î ¿ÞÂÊÀ¸·Î À̵¿ j Return ÇÑÇà¾Æ·¡·Î À̵¿ Backspace Çѹ®ÀÚ ¿ÞÂÊÀ¸·Î À̵¿ Spacebar Çѹ®ÀÚ ¿À¸¥ÂÊÀ¸·Î À̵¿ H È­¸éÀÇ ¸ÇÀ§·Î À̵¿ M È­¸éÀÇ Áß°£À¸·Î À̵¿ L È­¸éÀÇ ¸Ç ¾Æ·¡·Î À̵¿ ^F ÇÑÈ­¸é ¾ÕÀ¸·Î À̵¿ ^D ¹ÝÈ­¸é ¾ÕÀ¸·Î À̵¿ ^B ÇÑÈ­¸é µÚ·Î À̵¿ ^U ¹ÝÈ­¸é µÚ·Î À̵¿ 5) »èÁ¦: . Delete 1 character: 'x' . Delete multi character (ex 3 letters): '3x' . Delete line 'dd' . Paste 'p' (next line), 'P' (previous line) dd ÈÄ »ç¿ë . Delete multi line (ex 3 lines delete): '3dd' x ¹®ÀÚ»èÁ¦ dw ´Ü¾î»èÁ¦ dd Çà »èÁ¦ D Ä¿¼­ ¿À¸¥ÂÊ Çà »èÁ¦ :5,10 d 5-10° Çà »èÁ¦ 6) ¼öÁ¤: . Modify 1 letter 'r' È­¸é ÇÏ´Ü¿¡ "Replace" Ç¥½Ã µÊ. . Modify multi letters 'R' cw ´Ü¾î º¯°æ cc Çà º¯°æ C Ä¿¼­ ¿À¸¥ÂÊÀÇ Çà º¯°æ s Ä¿¼­°¡ À§Ä¡ÇÑ ¹®ÀÚ¿­ ´ëü r Ä¿¼­ À§Ä¡ ¹®ÀÚ¸¦ ´Ù¸¥ ¹®ÀÚ·Î ´ëü r-Return Çà ºÐ¸® J ÇöÀç Çà°ú ¾Æ·¡ Çà °áÇÕ xp Ä¿¼­ À§Ä¡ ¹®ÀÚ¿Í ¿À¸¥ÂÊ ¹®ÀÚ±³È¯ - ¹®ÀÚÇü(´ë,¼Ò¹®ÀÚ) º¯°æ u ÀÌÁø ¸í·É Ãë¼Ò U Çà º¯°æ »çÇ× Ãë¼Ò :u ÀÌÀüÀÇ ÃÖÁ¾Çà Ãë¼Ò 8) ÅØ½ºÆ® º¹»ç ¹× À̵¿ yy ÇöÀç Ä¿¼­°¡ ÀÖ´Â ÇàÀÇ Àüü º¹»ç Y Çà yank(¹öÆÛ¿¡ º¹»ç) yw ÇöÀç Ä¿¼­°¡ ÀÖ´Â ´Ü¾î º¹»ç y$ ÇöÀç Ä¿¼­°¡ ÀÖ´Â °÷¿¡¼­ ±× ÇàÀÇ ³¡±îÁö º¹»ç y^ ÇöÀç Ä¿¼­°¡ ÀÖ´Â °÷¿¡¼­ ±× ÇàÀÇ ½ÃÀÛ±îÁö º¹»ç p yank µÇ°Å³ª »èÁ¦µÈ ÇàÀ» ÇöÀç Çà ¾Æ·¡¿¡ »ðÀÔ P yankµÇ°Å³ª »èÁ¦µÈ ÇàÀ» ÇöÀç Çà À§¿¡ »ðÀÔ :1,2 co 3 1-2ÇàÀ» 3Çà ´ÙÀ½À¸·Î º¹»ç :4,5 m 6 4-5ÇàÀ» 6Çà ´ÙÀ½À¸·Î À̵¿ 9) Çà ã±â ¹× °¢ Çึ´Ù ¹øÈ£ Ç¥½Ã G ÆÄÀÏÀÇ ¸¶Áö¸· ÇàÀ¸·Î °¡±â 12G ÆÄÀÏÀÇ 12¹øÂ° ÇàÀ¸·Î °¡±â :set nu Çà¹øÈ£ Ç¥½Ã :set nonu Çà¹øÈ£ ¼û±â±â 10) ´Ü¾î³ª ¹®Àå ã±â ¹× ¹Ù²Ù±â /string/ stringŽ»ö ?string? string ¿ª ¹æÇâ Ž»ö n(N) stringÀÇ ´ÙÀ½(ÀÌÀü) °è¼Ó Ž»ö :g/search-string/s//replace-string/gc °¢ ¹ß»ý Ž»öÈÄ È®ÀÎÇÏ°í ´ëü :s/str/rep/ ÇöÀç ÇàÀÇ strÀ» rep·Î ´ëü :1,.s/str/rep/ 1ºÎÅÍ ÇöÀç ÇàÀÇ strÀ» rep·Î ÀüºÎ ´ëü :%s/str/rep/g ÆÄÀÏ Àüü strÀ» rep·Î ÀüºÎ ´ëü 11) ¸¶Å© ¼³Á¤°ú ¸¶Å© È£Ãâ . ¹®ÀÚ 'm' ´ÙÀ½¿¡ ¸¶Å© À̸§À¸·Î 'a'¿¡¼­ 'z' »çÀÌÀÇ ¹®ÀÚ Çϳª¸¦ ¼±ÅÃÇÑ´Ù. ¿¹) 'a'¶ó´Â À̸§À¸·Î ¸¶Å© ¼³Á¤: ma . À̵¿À̳ª È£ÃâÀº '(single quotation mark)ÈÄ 'a'¿¡¼­ 'z' »çÀÌÀÇ ¹®ÀÚ Çϳª¸¦ ¼±Åà ÇÑ´Ù. ¿¹) 'a ¼³Á¤µÈ ¸¶Å© 'a'·Î À̵¿ ¿¹) :'a, d ¸¶Å© a¿¡¼­ºÎÅÍ ÇöÀç Ä¿¼­°¡ ÀÖ´Â ÁÙ±îÁö »èÁ¦. 12) Buffering(ƯÁ¤ À̸§ÀÇ ¹öÆÛ¿¡ ÀúÀå) . "(a-z)nyy (a-z)¶ó´Â À̸§ÀÇ ¹öÆÛ¿¡ nÁÙ ÀúÀå ¿¹) "a5yy 'a'¶ó´Â À̸§ÀÇ ¹öÆÛ¿¡ ÇöÀç ÁÙºÎÅÍ 5ÁÙÀ» ÀúÀå. . "(a-z)p (a-z)¹öÆÛÀÇ ³»¿ëÀ» ´ÙÀ½ ÁÙ¿¡(p) ³ÖÀ½. 13) ´Ù¸¥ ÆÄÀÏ »ðÀÔ :r filename Ä¿¼­ ´ÙÀ½¿¡ ÆÄÀÏ »ðÀÔ :20 r filename ÆÄÀÏÀ» 20¹øÂ° Çà ´ÙÀ½¿¡ »ðÀÔ 14) ´ÜÃà ´Ü¾î³ª Ű(abbreviation) »ç¿ë¹ý . :ab ¾à¾î(´ÜÃà´Ü¾î³ª Ű) ¹Ù²Ü ´Ü¾î³ª Ű ¿¹) :ab WW w! /tmp/test ':WW'¸í·É /tmp/test'·Î ÀúÀå. ¿¹) :ab inp internet programming ÀԷ¸ðµå¿¡¼­ 'inp'¸¦ ³Ö°í ºóÄ­À̳ª ÁÙ¹Ù²Þ µîÀ» Ä¡¸é 'internet programming'À¸·Î ¹Ù²ï´Ù. 15) ÇöÀç ·ÎµåµÈ ÆÄÀÏ Á¤º¸ . Refresh(´Ù½Ã º¸±â) '^L' . Current information(ÆÄÀÏ Á¤º¸) '^G' . Search a word(ã±â) '/word' . Search again(´Ù½Ã ã±â) 'n' . ÇöÀç ¼³Á¤µÈ vi ȯ°æº¸±â ':set' 16) Undo(½ÇÇà Ãë¼Ò) 'u' 17) Repeat(½ÇÇà ¹Ýº¹) '.' 18) ÀÏ·ÃÀÇ ¸í·ÉµéÀ» ÇϳªÀÇ ¸í·ÉÀ¸·Î ¸¸µé±â :map (a-z,A-Z) ¸í·Éµé ¿¹) :map z ncwPARK^[ 'z' ¸í·ÉÀ¸·Î ¾Õ¿¡¼­ ãÀº ´Ü¾î('/´Ü¾î' ½ÇÇà)¸¦ ãÀº(n) ÈÄ ÇØ´ç ´Ü¾î¸¦ PARK·Î ¹Ù²Û´Ù.('^['´Â ·Î '^V'·Î ÀÔ·ÂÇÑ´Ù.) ¿¹) :map Z dwwP ¸í·É 'Z'´Â ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ´Ü¾î¿Í ´ÙÀ½ ´Ü¾î¸¦ ¸Â¹Ù²Û´Ù. 19) ÀúÀå: . ÀúÀå ':w' . 'tt'¶ó´Â À̸§À¸·Î ÀúÀå ':w tt' . 'tt'¶ó´Â À̸§ÀÇ ÆÄÀÏÀÌ ÀÌ¹Ì Á¸ÀçÇÒ ¶§¿¡´Â µ¤¾î¾²±â(°­Á¦ save)ÀÇ Àǹ̷Π'!'À» Ãß°¡. ':w! tt' . ÇöÀçÀÇ ÆÄÀÏ·Î ÀúÀåÇÏ°í ³ª°¡±â(Á¾·á) 'ZZ', ':wq' . Vi ³ª°¡±â ':q' . ÀúÀåÇÏÁö ¾Ê°í ³ª°¡±â ':q!' :w º¯°æ»çÇ× ÀúÀå :w filename ÁöÁ¤ÇÑ ÆÄÀÏ·Î ÀúÀå :wq º¯°æ»çÇ× ÀúÀåÈÄ viÁ¾·á ZZ º¯°æ»çÇ× ÀúÀåÈÄ viÁ¾·á :q! º¯°æ»çÇ×À» ÀúÀåÇÏÁö ¾Ê°í viÁ¾·á . MS Windows OS¿¡¼­ »ç¿ëÇÏ´Â VimÀ̳ª À©µµ¿ì ÅØ½ºÆ® ÆíÁý±â µî¿¡¼­ ÀÛ¼ºµÈ ¹®¼­´Â ´ÙÀ½ÁÙ(ÁÙ ¹Ù²Ù±â) ¹®ÀÚÄڵ尡 À¯´Ð½º()¿Í ´Ù¸£´Ù. DOS(Windows) ÅØ½ºÆ® ¹®¼­¸¦ À¯´Ð½º vi·Î º¸¸é ^M·Î º¸ÀδÙ(DOS Çü½ÄÀε¥ ¾È º¸ÀÏ ¼öµµ ÀÖÀ½). ¹®¼­¸¦ ÀúÀåÇϱâ Àü¿¡ :set·Î º¸¾Æ fileformat=unix ȤÀº fileformat=dos·Î ÀúÀå Çü½ÄÀ» ¾Ë ¼ö ÀÖ´Ù. ¾Æ·¡ ȯ°æ¼³Á¤ ÂüÁ¶) :set fileformat=unix ÇÑ ÈÄ ÀúÀåÇϸé À¯´Ð½º Çü½ÄÀ¸·Î ÀúÀåµÈ´Ù. ȤÀº ¸ðµç '^M'Äڵ带 »èÁ¦Çϸé À¯´Ð½ºÇü½ÄÀÌ µÈ´Ù. ':%s/^M//' ¿©±â¼­ '^M'Àº '^V^M'·Î ÀÔ·ÂÇÒ ¼ö ÀÖ´Ù. :set fileformat=unix ÀúÀå½Ã À¯´ÐÇü½Ä ¼³Á¤. :set fileformat=dos ÀúÀå½Ã DOS Çü½Ä ¼³Á¤. 20) Tips: ´ÙÀ½ °ú ^L(refresh)¸¦ ÀÚÁÖ »ç¿ëÇϽÿÀ! 21) ¶óÀÎ(ÁÙ) ÆíÁý ¸í·É: . Line ¸í·ÉÀº ':'·Î ½ÃÀÛÇÑ´Ù. È­¸é ÇÏ´Ü¿¡ ":" Ç¥½Ã. . :[n1,n2] command [¹üÀ§] ¸í·É ¿¹1) Read and insert a file fnme('fname' ÆÄÀÏÀ» Ä¿¼­ ¾Õ¿¡ ³¢¿ö ³Ö±â) ':r fname' ¿¹2) Cancel all modification and edit again(ÀúÀåÇÑ ÀÌÈÄ ¸ðµç ÀÛ¾÷À» Ãë¼ÒÇÏ°í ´Ù½Ã ÆíÁýÇÔ) ':e!' 22) ȯ°æ ¼³Á¤ . :set