Ãʺ¸ÀÚ¸¦ À§ÇÑ Vim ÀÔ¹®¼­
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

  • °³Çà ¹®ÀÚ º¯È¯Çϱâ : Unix´Â \nÀÌÁö¸¸ À©µµ¿ì´Â \r\nÀÌ´Ù. °£È¤ À©µµ¿ì¿¡¼­ ¸¸µç ¹®¼­¸¦ Àдٺ¸¸é °¢ ÁÙÀÇ ¸¶Áö¸·¿¡ ^MÀÌ Ç¥½ÃµÅ¼­ ÀÐ±â ºÒÆíÇÒ ¶§°¡ ÀÖ´Ù. ġȯÇÒ ¼öµµ ÀÖÁö¸¸ ¾Æ·¡¿Í °°ÀÌ ¸í·ÉÀ¸·Î ó¸®ÇÒ ¼öµµ ÀÖ´Ù.
    :set ff=unix
  • ÆÄÀÏ »ðÀÔ
    :r ÆÄÀϸí
  • ¸í·É ½ÇÇà °á°ú »ðÀÔ
    :r! ¸í·É¾î
  • ¿ÜºÎ textº¹»ç½Ã ÀÚµ¿ µé¿©¾²±â¿¡ ÀÇÇÑ °è´Ü Çö»ó Á¦°Å.
    set paste
  • ´ë¼Ò¹®ÀÚ º¯°æ
    1. ¸ðµç ¹®ÀÚ¸¦ ´ë¹®ÀÚ·Î :%s/.*/U 1. ¸ðµç ¹®ÀÚ¸¦ ¼Ò¹®ÀÚ·Î :%s/.*/L 1. ¸ðµç ´Ü¾îÀÇ Ã¹¹øÂ° ¹®ÀÚ¸¦ ´ë¹®ÀÚ·Î :%s/\<./\u&/g
    2. ¸ðµç ´Ü¾îÀÇ Ã¹¹øÂ° ¹®ÀÚ¸¦ ¼Ò¹®ÀÚ·Î :%s/\<./\l&/g
    3. ¸ðµç ÁÙÀÇ Ã¹¹øÂ° ´Ü¾î¸¦ ´ë¹®ÀÚ·Î :%s/.*/\u&
    4. ¸ðµç ÁÙÀÇ Ã¹¹øÂ° ´Ü¾î¸¦ ¼Ò¹®ÀÚ·Î :%s/.*/\l&

¼Ò½Ä

´ÜÃàŰ

º¸³½ »ç¶÷ Linux

ÇØ¾ßµÉ ÀÛ¾÷

  • vim7ÀÌ ³ª¿ÔÀ½. °¡´ÉÇÑ vim7ÀÇ º¯°æµÈ Á¡À» Ãß°¡ÇØ º¼°Í
    • ex) split ´ÜÃàŰ Áö¿ø Ãß°¡ : shift+p

Âü°í

Ãß°¡ÇØ¾ßµÉ ³»¿ë

  1. °°Àº ¹®ÀÚ¸¦ ¿©·¯¹ø »ðÀÔ
    1À» 100¹ø ¿¬¼Ó ÀÔ·ÂÇØ¾ß ÇÏ´Â °æ¿ì¸¦ »ý°¢Çغ¸ÀÚ. ¿¡µðÅÍ·Î 100¹ø ÀÔ·ÂÇϴ°Š»ý°¢º¸´Ù Â¥Áõ³¯ °ÍÀÌ´Ù. ±×·¸´Ù°í ÇÁ·Î±×·¥À» ¸¸µå´Â°Ç ´õ ½Ã°£ ³¶ºñ´Ù. ´ÙÀ½°ú °°Àº ¹æ¹ýÀ» ÀÌ¿ëÇØ º¸ÀÚ.

    esc۸¦ ´­·¯¼­ ¸í·ÉÇà ¸ðµå·Î ³Ñ¾î°£´Ù. 
    100À» ÀÔ·ÂÇÑ´Ù. 
    'i'¸¦ ÀÔ·ÂÇØ¼­ ÀԷ¸ðµå·Î µé¾î°£´Ù. 
    ¹Ýº¹ÇÒ ¹®ÀÚÀÎ 1À» ÀÔ·ÂÇÑ´Ù. 
    esc۸¦ ´­·¯¼­ ´Ù½Ã ¸í·ÉÇà ¸ðµå·Î ³Ñ¾î°£´Ù. 
    1ÃÊ Á¤µµ ±â´Þ·Áº¸ÀÚ. 
     
VIMÀ» »ç¿ëÇÏÀÚ

VIMÀ» »ç¿ëÇÏÀÚ

À± »ó¹è

dreamyun@yahoo.co.kr

고친 과정
고침 0.92004³â 3¿ù 10ÀÏ 17½Ã
vim ¸ðµå¿Í °ü·ÃµÈ ºÎ°¡³»¿ë Ãß°¡
고침 0.82003³â 3¿ù 1ÀÏ 23½Ã
ÃÖÃÊ ¹®¼­ÀÛ¼º

1. vim À̶õ

vim Àº À¯´Ð½º °è¿­¿¡¼­ ÀüÅëÀûÀ¸·Î ³Î¸® »ç¿ëµµ´ø vi ÀÇ improve Áï undo, syntax coloring, split windows µîÀÇ ±â´ÉÀ» Æ÷ÇÔ½ÃŲ vi ÀÇ º¸°­µÈ ÇÁ·Î±×·¥ÀÌ´Ù.

ÀÌ ¹®¼­´Â vim ÀÇ ±âº»ÀûÀÎ »ç¿ë¹ý°ú, ÇÁ·Î±×·¡¹ÖÀ» À§ÇÑ ¿©·¯°¡Áö ÆÁÀ» ´ã°í ÀÖ´Ù. vim ¹öÁ¯Àº 6.0 À» ±âÁØÀ¸·Î ÇÑ´Ù. vim(vi)¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ »ç¿ë¹æ¹ýÀº ¿©±â¿¡¼­´Â Á¦½ÃÇÏÁö ¾ÊÀ»°ÍÀÌ´Ù. °¡Àå ±âº»ÀûÀÎ »çÇ׸¸ ¾ð±ÞÇÒ°ÍÀ̸ç, ÀÚ¼¼ÇÑ »ç¿ë¹ýÀº vi »ç¿ëÀÚ±×·ì »çÀÌÆ®¸¦ Âü°íÇϱ⠹ٶõ´Ù.


2. VIMÀÇ ±âº»»ç¿ë¹ý ÀÍÈ÷±â

À̹øÀå¿¡¼­´Â vimÀÇ ±âº»ÀûÀÎ »ç¿ë¹ý¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ. À§¿¡¼­ ¾ð±ÞÇßµíÀÌ, À̹®¼­´Â VIMÀÇ ·¹ÆÛ·±½º °¡À̵å´Â ¾Æ´Ï´Ù. ±âº»ÀûÀÎ »ç¿ëÀÌ °¡´ÉÇϵµ·Ï °¡Àå ±âÃÊÀûÀÎ ³»¿ëµé¸¸ ´Ù·ê°ÍÀÌ´Ù.


2.1. vim ¸ðµå

´Ù¸¥ ¿¡µðÅ͸¦ »ç¿ëÇÏ´ø À¯Àú°¡ vimÀ» óÀ½ Á¢Çϸ鼭 °¡Àå ³­°¨ÇØ ÇÏ´Â ºÎºÐÀÌ vimÀÇ »óÅÂ(mode)°³³äÀÌ´Ù.vimÀº ´Ù¸¥ ¿¡µðÅ͵é°ú ´Þ¸®, ½ÇÇàÀ» ½ÃÄ×´Ù°í ÇØ¼­ Áï½Ã ÀÔ·ÂÀÌ ÀÌ·ç¾îÁöÁö ¾Ê´Â´Ù. ¸¹Àº vimÀ» óÀ½ Á¢ÇÏ´Â À¯Àú´Â ¾î¶»°Ô ±ÛÀ» ÀÔ·ÂÇÒÁö ¸ô¶ó¼­ vimÀÇ »ç¿ëÀ» Á¢°ÔµÇ´Â °æ¿ì°¡ ¹ß»ýÇϴµ¥, ¿©±â¿¡ ±× ÀÌÀ¯°¡ ÀÖ´Ù. vi ´Â Å©°Ô ¼¼°¡Áö »óÅ·Π³ª´µ¾îÁø´Ù. ù¹øÂ°°¡ ¸í·É¾î ¸ðµå·Î ŰÀÔ·ÂÀÌ ¹Ù·Î ½ÇÇàµÇ´Â »óÅÂÀ̸ç, ´ÙÀ½Àº »óŸðµå·Î ½ÇÁ¦ ¹®¼­¸¦ ÆíÁýÇÏ´Â ¸ðµå ¸¶Áö¸·ÀÌ ex »óÅ·Πex ¸í·ÉÀ» ½ÇÇà½ÃŰ´Â »óÅÂÀÌ´Ù.

vi ¸¦ óÀ½½ÇÇà½Ã۸é ÀԷ¸ðµå°¡ ¾Æ´Ñ ¸í·É¸ðµå »óÅ¿¡ ³õÀÌ°Ô µÈ´Ù. ÀÌ »óÅ¿¡¼­´Â ¹®ÀÚÀÇ ÀÔ·ÂÀÌ ÀÌ·ç¾îÁöÁö ¾ÊÀ¸¸ç, ã±âµî°ú °°Àº °£´ÜÇÑ ¹®¼­°ü·Ã ¸í·ÉÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Ù. ÀÌ ¸í·É¸ðµå »óÅ¿¡¼­ ":" ۸¦ ´©¸£¸é ex »óÅ·Πa, i, o Ű µîÀ» ´©¸£¸é ÀÔ·Â »óÅ·Π³Ñ¾î°¡°Ô µÈ´Ù. ÀÏ´Ü ÀԷ»óÅ·Πµé¾î°¡°Ô µÇ¸é ¹®¼­ ÆíÁýÀ» ÇÒ¼ö ÀÖ°Ô µÇ´Âµ¥, À̶§ ESC ۸¦ ´©¸£¸é ¸í·É¸ðµå »óÅ·Π³Ñ¾î°¡°Ô µÈ´Ù.

표 1. vimÀÇ »óÅÂ(mode)

¸í·É »óÅÂóÀ½ vimÀ» ½ÇÇàÇßÀ»¶§, ÀԷ»óÅÂ/¸í·É»óÅ¿¡¼­ ESCÀԷ½ð£´ÜÇÑ Ã£±â, Ä¿¼­ À̵¿, ex »óÅ·Π³Ñ¾î°¡±â
ex »óŸí·É »óÅ¿¡¼­ (":")°¢Á¾ ġȯ, ÀúÀå, ÆÄÀÏÀбâ, vim¼³Á¤µî°ú °°Àº ´ëºÎºÐÀÇ ÀÛ¾÷µé
ÀÔ·Â »óŸí·É »óÅ¿¡¼­ (a,i,o Ű ÀÔ·Â)³»¿ë ÀÔ·Â


2.2. ¸í·É¾î¸ðµåÀÇ »ç¿ë

¿ì¸®´Â ¸í·É¸ðµå¿¡¼­ ¿©·¯°¡Áö ¸í·ÉÀ» ÀÔ·ÂÇÔÀ¸·Î½á, º¹»ç, ºÙÀ̱â, »èÁ¦ ¹®¼­ÀÔ·Â, ¹®¼­ÀúÀå, ¹®¼­ºÒ·¯¿À±â, Ä¿¼­À̵¿ µîÀÇ ÀÛ¾÷À» ÇÒ¼ö ÀÖ´Ù. À̹ø Àå¿¡¼­´Â ÀÌ·¯ÇÑ ¸í·É¸ðµå¿¡¼­ »ç¿ëµÇ´Â °¢Á¾ ¸í·É¾î¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ.


2.2.1. Ä¿¼­ À̵¿

±âº»ÀûÀ¸·Î vi ´Â ÀԷ¸ðµå¿¡¼­ ¹æÇâ۸¦ ÀÌ¿ëÇØ¼­ Ä¿¼­ À̵¿À» ÇÏÁö ¸øÇϵµ·Ï µÇ¾îÀÖ´Ù. ºñ·Ï ÃÖ±ÙÀÇ vim ÀÌ ÀԷ¸ðµå¿¡¼­ ¹æÇâ۸¦ ÀÌ¿ëÇÑ Ä¿¼­ À̵¿À» Áö¿øÇϰí ÀÖ±â´Â ÇÏÁö¸¸, ¸í·É¸ðµå¿¡¼­ÀÇ Å°À̵¿ÀÌ ÈξÀ ºü¸£°í ÆíÇϹǷÎ, óÀ½¿¡´Â Á» ¾î»öÇÏ´õ¶óµµ ¸í·É¸ðµå¿¡¼­ÀÇ Å° À̵¿À» ÀÍÈ÷µµ·Ï ÇÏÀÚ.

표 2. Ä¿¼­ À̵¿

kÄ¿¼­¸¦ À§·Î ¿òÁ÷ÀÓ
jÄ¿¼­¸¦ ¾Æ·¡·Î ¿òÁ÷ÀÓ
h Ä¿¼­¸¦ ¿ÞÂÊÀ¸·Î ¿òÁ÷ÀÓ
l Ä¿¼­¸¦ ¿À¸¥ÂÊÀ¸·Î ¿òÁ÷ÀÓ
- Ä¿¼­¸¦ ÁÙÀÇ Ã³À½À¸·Î ¿Å±è
e, E ´ÙÀ½´Ü¾îÀÇ ³¡À¸·Î, ¹®ÀÚ´ÜÀ§ À̵¿
w, W ´ÙÀ½´Ü¾îÀÇ Ã³À½À¸·Î, ¹®ÀÚ´ÜÀ§ À̵¿
$ ÁÙÀÇ ¸¶Áö¸·À¸·Î
0 ÁÙÀÇ Ã³À½À¸·Î
^ ÁÙÀÇ Ã³À½À¸·Î(°ø¹éÀÌ ¾Æ´Ñ óÀ½½ÃÀ۵Ǵ ¹®ÀÚ)
Shift+g ¹®¼­ÀÇ ¸¶Áö¸·À¸·Î À̵¿ÇÑ´Ù.
gg, 1g ¹®¼­ÀÇ Ã³À½À¸·Î À̵¿ÇÑ´Ù. 1´ë½Å ´Ù¸¥ ¼ýÀÚ¸¦ ÀÔ·ÂÇϸé ÇØ´ç ¼ýÀÚÀÇ ¶óÀÎÀ¸·Î À̵¿ÇÑ´Ù.
), ( ´ÙÀ½, ÀÌÀü ¹®ÀåÀÇ Ã³À½À¸·Î
}, { ´ÙÀ½, ÀÌÀü¹®´ÜÀÇ Ã³À½À¸·Î
]], [[ ´ÙÀ½, ÀÌÀü ±¸ÀýÀÇ Ã³À½À¸·Î


2.2.2. È­¸é ½ºÅ©·Ñ

À§ÀÇ Ä¿¼­¸í·É À̵¿ÀÌ ¸Å¿ì ÆíÇϱâ´Â ÇÏÁö¸¸, ¸¸¾à ÆäÀÌÁö°¡ ÇÑ 2000¶óÀÎ µÉ°æ¿ì, À§ÀÇ Ä¿¼­¸¦ ÀÌ¿ëÇØ¼­ ÇÑÁÙ¾¿ À̵¿Çϴµ¥¿¡´Â ³Ê¹« ¸¹Àº ½Ã°£ÀÌ °É¸±°ÍÀÌ´Ù. ±×·¡¼­ vi ¿¡¼­´Â È­¸é ´ÜÀ§ÀÇ ½ºÅ©·ÑÀÌ °¡´ÉÇÑ ¸í·ÉµéÀ» Á¦°øÇÑ´Ù. ¾Æ·¡ÀÇ È­¸é ½ºÅ©·Ñ ¸í·É¾îµéÀ» ÀÍÈ÷¸é ºü¸¥ À§Ä¡À̵¿À» À§ÇØ ¸Å¿ì À¯¿ëÇÏ°Ô »ç¿ëÇÒ¼ö ÀÖ´Ù. ^F ´Â CTRL+F ¸¦ ÀǹÌÇÑ´Ù.

표 3. È­¸é ½ºÅ©·Ñ

^FÇÑ È­¸é À» ¾ÕÀ¸·Î ½ºÅ©·Ñ
^BÇÑ È­¸é À» µÚ·Î ½ºÅ©·Ñ
^D¹Ý È­¸é À» ¾ÕÀ¸·Î ½ºÅ©·Ñ
^U¹Ý È­¸é À» µÚ·Î ½ºÅ©·Ñ
^EÇÑÁÙ ¾ÕÀ¸·Î ½ºÅ©·Ñ
^YÇÑÁÙ µÚ·Î ½ºÅ©·Ñ
Shift + hÈ­¸éÀÇ ¸Ç À­ÁÙ·Î
Shift + mÈ­¸éÀÇ Áß°£ÁÙ·Î
Shift + lÈ­¸éÀÇ ¸Ç ¾Æ·§ÁÙ·Î


2.2.3. ¸¶Å© À̵¿

ÀÏÁ¾ÀÇ Ã¥°¥ÇÇ ±â´ÉÀ̶ó°í º¸¸é µÈ´Ù. ÀÚÁÖ ÂüÁ¶ÇؾßÇÒ ¶óÀο¡ ¸¶Å©¸¦ ÇØ³õ°í ÇÊ¿äÇÒ¶§ °ð¹Ù·Î ¸¶Å©µÈ ¿µ¿ªÀ¸·Î À̵¿Çϱâ À§Çؼ­ »ç¿ëÇÑ´Ù. ¸¶Å©´Â mx Çü½ÄÀ¸·Î »ç¿ëÇÒ¼ö ÀÖ´Ù. x ´Â (a~z)±îÁöÀÇ ¹®ÀÚ·Î ¸¶Å©µÈ ¿µ¿ªÀÇ À̸§À» ÁöÁ¤Çϱâ À§Çؼ­ »ç¿ëÇÑ´Ù. ¸¶Å©µÈ ¿µ¿ªÀ¸·Î À̵¿Çϱâ À§Çؼ­´Â 'x ¿Í `x ¸¦ »ç¿ëÇÑ´Ù. 'x ´Â ¸¶Å©µÈ ¶óÀÎÀÇ °¡Àå ¾ÕÀ¸·Î À̵¿Çϰí, `x ´Â ¸¶Å©µÈ ¶óÀÎÀÇ Á¤È®ÇÑ À§Ä¡·Î À̵¿ÇÑ´Ù.


2.2.4. ÀÔ·Â ¸í·É

Áö±Ý vi ¸¦ ½ÇÇà½ÃÄѺ¸ÀÚ. vi ´Â ±âº»ÀûÀ¸·Î ¸í·É¸ðµå·Î ½ÇÇàµÇ¹Ç·Î, Áö±Ý»óÅ¿¡¼­´Â ¹®¼­ ÀÛ¼ºÀ» ÇÒ¼ö ¾øÀ»°ÍÀÌ´Ù. ¿ì¸®´Â ´ÙÀ½°ú °°Àº ŰÀÔ·ÂÀ» ÅëÇØ¼­ ÀԷ¸ðµå »óÅ·ΠÀüȯÇÒ¼ö ÀÖ´Ù.

표 4. ÀÔ·Â ¸í·É

iÇöÀçÀ§Ä¡¿¡¼­ »ðÀÔ
IÇöÀçÁÙÀÇ Ã³À½À§Ä¡¿¡¼­ »ðÀÔ
aÇöÀçÀ§Ä¡¿¡¼­ ÇÑÄ­¾ÕÀ¸·Î À̵¿Çؼ­ »ðÀÔ
AÇöÀçÁÙÀÇ ¸¶Áö¸·À§Ä¡¿¡¼­ »ðÀÔ
o»õ·Î¿î ÁÙÀ» Ä¿¼­ ¾Æ·¡¿¡ ¿¬´Ù
O»õ·Î¿î ÁÙÀ» Ä¿¼­ À§¿¬´Ù
sÇöÀç À§Ä¡ÀÇ ¹®ÀÚ¸¦ Áö¿ì°í ÀԷ¸ðµå·Î µé¾î°£´Ù.
SÇöÀçÀ§Ä¡ÀÇ ¶óÀÎÀ» Áö¿ì°í ÀԷ¸ðµå·Î µé¾î°£´Ù.


2.2.5. ÆíÁý¸í·É

¿©±â¿¡¼­´Â viÀÇ ÆíÁý±â´ÉÀÎ º¹»ç, ºÙÀ̱â, »èÁ¦¿¡ ´ëÇØ¼­ ¾Ë¾Æ º¸µµ·Ï ÇϰڴÙ. ´Ù¸¥ ¿¡µðÅ͵éÀº º¸Åë ¸¶¿ì½º¸¦ ÀÌ¿ëÇØ¼­ ºí·°À» ÁöÁ¤Çؼ­ ÆíÁýÀ» ÇÏ´Â ¹Ý¸é, vi ´Â ¸í·É¾î ¸ðµå¿¡¼­ Űº¸µå ¸¸À» ÀÌ¿ëÇØ¼­ ÆíÁýÀÌ °¡´ÉÇϹǷÎ, ¸Å¿ì Æí¸®ÇÏ°í ºü¸£°Ô ÆíÁýÀÛ¾÷µéÀÌ °¡´ÉÇÏ´Ù. ¶ÇÇÑ ¶óÀδÜÀ§ ºí·°, ºí·°´ÜÀ§ ºí·°µîÀÇ ¼±Åà ¸ðµå¸¦ Áö¿øÇÔÀ¸·Î½á, ¹®¼­¿¡¼­ ¿øÇÏ´Â ºÎºÐ¿¡ ´ëÇÑ ÀÛ¾÷À» Á»´õ ½±°Ô ÇÒ¼ö ÀÖ´Ù.


2.2.5.1. ÆíÁý(none visual block ¸ðµå)

visual block ¸ðµå°¡ ¾Æ´Ñ »óÅ¿¡¼­ÀÌ ÆíÁý¿¡ °üÇÑ ³»¿ëÀÌ´Ù.

표 5. º¹»ç,»èÁ¦,ºÙÀ̱â

yÇÑÁÙ º¹»ç
ynÇöÀç ¶óÀο¡¼­ºÎÅÍ n¶óÀθ¸Å­À» º¹»ç
pº¹»çµÈ ³»¿ë ºÙÀ̱â
ddÇÑÁÙ»èÁ¦
dwÇÑ´Ü¾î »èÁ¦
Shift+d, d$ÇöÀçÄ¿¼­ À§Ä¡¿¡¼­ ¸¶Áö¸·±îÁö »èÁ¦
Shift+jÇöÀç ÇàÀÇ °³Ç๮ÀÚ¸¦ Á¦°ÅÇÑ´Ù. Áï ¾Æ·¡¶óÀÎÀ» ÇöÀç¶óÀο¡ µ¡ºÙÀδÙ.


2.2.5.2. Undo (µÇµ¹¸®±â)

vim Àº ´ÙÁßÀÇ undo ±â´ÉÀ» Áö¿øÇÑ´Ù. µÚ·Î µÇµ¹¸®°í ½Í´Ù¸é ´ÜÁö 'u'۸¸ ÀÔ·ÂÇÏ¸é µÈ´Ù.


2.2.5.3. ºí·° ÁöÁ¤

À̹ø¿£ ºí·°ÁöÁ¤, ±×Áß¿¡¼­µµ vim ¿¡¼­ Áö¿øÇÏ´Â visual ºí·° ÁöÁ¤¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸°Ú´Ù. vim visual ºí·° ÁöÁ¤ ±â´ÉÀ» »ç¿ëÇÒ°æ¿ì ÁöÁ¤¹üÀ§°¡ ¹ÝÀüµÇ¸é¼­ ´«¿¡ º¸À̱⠶§¹®¿¡, È¿°úÀûÀÎ ºí·°ÁöÁ¤ÀÌ °¡´ÉÇϵµ·Ï µµ¿ÍÁØ´Ù. ¹üÀ§ÁöÁ¤À» À§Çؼ­ 'hjkl', 'Shift+g,GG' °ú °°Àº À̵¿¸í·É °ú È­¸é½ºÅ©·Ñ ¸í·ÉÀ» »ç¿ëÇØ¼­ ¹üÀ§ÁöÁ¤À» Á»´õ ºü¸£°Ô ÇÒ¼ö ÀÖ´Ù.

표 6. ºí·°ÁöÁ¤

v´Ü¾î´ÜÀ§·Î ºí·°ÁöÁ¤ÀÌ °¡´ÉÇÏ´Ù. ºí·°¹üÀ§´Â À̵¿¸í·ÉÀÎ 'hjkl' ·Î ¿øÇÏ´Â ¹üÀ§ ¸¸Å­ ÁöÁ¤ÇÒ¼ö ÀÖ´Ù.
Shift+v¶óÀδÜÀ§ ºí·°ÁöÁ¤ÀÌ´Ù. ¶óÀÎÀüü°¡ ¼±ÅõǸç, À§¾Æ·¡ À̵¿¸í·É 'hj' À¸·Î ¹üÀ§ ÁöÁ¤ÀÌ °¡´ÉÇÏ´Ù.
Ctrl+vºí·°´ÜÀ§ ºí·°ÁöÁ¤ÀÌ´Ù. 4°¢ÇüÀÇ ºí·°ÁöÁ¤ÀÌ °¡´ÉÇϸç À̵¿¸í·ÉÀÎ 'hjkl' ·Î ¿øÇÏ´Â ¹üÀ§¸¦ ÁöÁ¤ÇÒ¼ö ÀÖ´Ù.
Shift+v ¿Í °°ÀÌ ºí·°ÁöÁ¤À» ÇÑÈÄ Shift+G ¸¦ ÀÔ·ÂÇϸé ÇöÀç¶óÀκÎÅÍ ¸¶Áö¸· ¶óÀαîÁö°¡ ºí·° ÁöÁ¤ÀÌ µÉ°ÍÀÌ´Ù.


2.2.5.4. ÆíÁý(visual block ¸ðµå)

ÀÏ´Ü vim ÀÇ visual ºí·° ÁöÁ¤ ±â´ÉÀ» ÀÌ¿ëÇØ¼­ ÆíÁýÇϱ⠿øÇÏ´Â ºí·°À» ÁöÁ¤Çß´Ù¸é, °¢Á¾ ÆíÁý¸í·ÉÀ» ÀÌ¿ëÇØ¼­ º¹»ç, ºÙÀ̱â, »èÁ¦ ÀÛ¾÷ÀÌ °¡´ÉÇÏ´Ù. ºí·°À» ÁöÁ¤ÇÑ »óÅ¿¡¼­ ¾Æ·¡ÀÇ ¸í·ÉÀ» ÀÌ¿ëÇØ¼­ ÆíÁýÀ» ÇÏ¸é µÈ´Ù. ¸í·É¾î´Â ±âº»ÀûÀ¸·Î none visual block ¸ðµåÀÇ ÆíÁý ¸í·É¾î°ú °°´Ù.

표 7. ÆíÁý(º¹»ç, »èÁ¦, ºÙÀ̱â)

yÁöÁ¤µÈ ºí·°À» º¹»çÇÑ´Ù.
pº¹»çµÈ ºí·°À» ÇöÀç¶óÀÎ(Ä¿¼­) ¾Æ·¡¿¡ ºÙÀδÙ.
dÁöÁ¤µÈ ºí·°À» »èÁ¦ÇÑ´Ù.
ddÇöÀç¶óÀÎÀ» »èÁ¦ÇÑ´Ù.


2.3. ex ¸ðµå

2.3.1. ã±â/ġȯ

vim ÀÇ ±â´ÉÁß °¡ÀåÆí¸®ÇÑ ±â´ÉÀ¸¸®¸é ¹¹´Ï¹¹´Ï ÇØµµ, Á¤±ÔÇ¥Çö½ÄÀ» ÀÌ¿ëÇÑ °­·ÂÇÑ Ã£±â±â´É°ú ġȯ±â´ÉÀ̶ó°í ÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù. ¹°·Ð ´Ù¸¥ ´ëºÎºÐÀÇ ¿¡µðÅ͵鵵 ã±â±â´É°ú ġȯ±â´ÉÀ» Á¦°øÇϱä ÇÏÁö¸¸, vim ÀÇ ±â´ÉÀº ´Ù¸¥ ¿¡µðÅ͵鿡 ºñÇØ¼­ Á¤¸»·Î µ¶º¸ÀûÀÎ Æí¸®ÇÔ°ú °­·ÂÇÔÀ» Á¦°øÇÑ´Ù. vi »ç¿ëÀÚ°¡ ´Ù¸¥ ¿¡µðÅÍ·Î ³Ñ¾î°¡±â ÈûµçÀÌÀ¯Áß °¡ÀåÅ« ÀÌÀ¯°¡, ¹Ù·Î "۸¦ ÀÌ¿ëÇÑ ¹æÇâÀÔ·Â" °ú "ã±â ¹× ġȯ" ±â´É ¶§¹®ÀÌ´Ù.

»ç½Ç ã±â ġȯÀÇ ±â´ÉÀ» Á¦´ë·Î ÀÌÇØÇÏ°í »ç¿ëÇϱâ À§Çؼ­´Â Á¤±ÔÇ¥Çö½Ä(regular expression) ¿¡ ´ëÇÑ ÀÌÇØ°¡ ÇÊ¿ä·Î Çϴµ¥, À̰ÍÀº ´ÙÀ½ÀÇ »çÀÌÆ®¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù. Á¤±Ô Ç¥Çö½ÄÀÇ °£·«ÇÑ ¼Ò°³

¸ÕÀú ã±â ±â´É¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸°Ú´Ù. ã±â±â´ÉÀº ':/ÆÐÅÏ/' ¸¦ ÀÌ¿ë ÇϸéµÈ´Ù. ã±â ¿øÇÏ´Â ¹®ÀÚȤÀº ÆÐÅÏÀ» ÀÔ·ÂÇÏ°í ¿£ÅÍ۸¦ ´©¸£¸é ÇöÀç Ä¿¼­À§Ä¡¿¡¼­ °¡Àå °¡±î¿î °÷¿¡ À§Ä¡ÇÑ ¹®ÀÚ¿­·Î Ä¿¼­¸¦ À̵¿½ÃŲ´Ù(¹®¼­ ¾Æ·¡¹æÇâÀ¸·Î). ´ÙÀ½ ¹®ÀÚ¿­À» ã±â¸¦ ¿øÇÑ´Ù¸é 'n'۸¦ ´©¸£¸é µÈ´Ù. ¹®¼­¿¡¼­ °¡Àå ¸¶Áö¸·¿¡ À̸£¸£°Ô µÇ¸é, ¹®¼­ÀÇ °¡ÀåóÀ½ºÎÅÍ ´Ù½Ã ã±â ½ÃÀÛÇÑ´Ù. 'Shift+n' À» ÀÌ·ÂÇÏ¸é ¹Ý´ë ¹æÇâ(¹®¼­ÀÇ À§ÂÊÀ¸·Î)À¸·Î ã±â¸¦ ½ÃÀÛÇÑ´Ù.

ġȯÀÌ¾ß ¸»·Î vim ÀÇ ²ÉÀ̶ó°í ÇÒ¼ö ÀÖ´Ù. :[¹üÀ§]s/[oldpattern]/[newpattern]/ ÀÇ Çü½ÄÀ¸·Î »ç¿ëÇÏ¸é µÈ´Ù. ¹üÀ§ ÁöÁ¤Àº visual block À» ÀÌ¿ëÇÒ¼öµµ ÀÖÀ¸¸ç, Á÷Á¢ ¹üÀ§¸¦ ÀÔ·ÂÇÒ¼öµµ ÀÖ´Ù. visual block ¸¦ ÀÌ¿ëÇÑ Ä¡È¯Àº visual block ¸¦ ÁöÁ¤ÇÑ´ÙÀ½ ':' ¸¦ ÀÔ·ÂÇØ¼­ ex ¸ðµå·Î ³Ñ¾î°¡¸é µÈ´Ù. ±×¸®°í³ª¼­ ':'<,'>s/[oldpattern]/[newpattern/' °ú °°Àº ¹æ¹ýÀ¸·Î ġȯÇÏ¸é µÈ´Ù.

visual block ¸¦ »ç¿ëÇÏÁö ¾Ê°í Á÷Á¢¹üÀ§¸¦ ÀÔ·ÂÇÒ¼öµµ ÀÖ´Ù. :[½ÃÀÛ],[¸¶Áö¸·]s/[old]/[new]/ ½ÄÀ¸·Î ¹üÀ§¸¦ ÁöÁ¤ÇÏ¸é µÈ´Ù. ¿©±â¿¡´Â ¸î°¡Áö ÁöÁ¤µÈ ¹üÀ§¸¦ À§ÇÑ Æ¯¼ö ±âÈ£µéÀÌ ÀÖ´Ù. '%' ´Â Àüü¹®¼­(óÀ½ºÎÅÍ ³¡±îÁö), '.' Àº ÇöÀç, '$' Àº ¸¶Áö¸· À» ³ªÅ¸³½´Ù. ¼ýÀÚ¸¦ ÀÔ·ÂÇÒ°æ¿ì ¼ýÀÚ´Â ¶óÀÎÀ» ³ªÅ¸³½´Ù. ´ÙÀ½Àº °£´ÜÇÑ »ç¿ë¿¹ÀÌ´Ù.

# ¹®¼­ óÀ½ºÎÅÍ ¸¶Áö¸·±îÁöÀÇ char ¸¦ _char_ ·Î ġȯÇÑ´Ù. 
:%s/char/_&_/g

# ÇöÀç(Ä¿¼­À§Ä¡)ºÎÅÍ ¸¶Áö¸·±îÁöÀÇ char ¸¦ _char_ ·Î ġȯÇÑ´Ù.
:.,$s/char/_&_/g

# buf_.*[255], buf_in[255], buf_get[255] ¿Í °°Àº ¹®ÀÚ¿­À» hello ·Î º¯°æÇÑ´Ù.  
:1,10s/buf_.*\[255\]/hello/g
				
¸¶Áö¸·¿¡ ¾²ÀÎ 'g' ´Â global ÀÌ´Ù. Áï ÇØ´ç ¶óÀÎ Àüü¿¡ °ÉÃļ­ °Ë»öÈÄ Ä¡È¯ÇÑ´Ù. 'g' ¸¦ »ç¿ëÇÏÁö ¾ÊÀ»°æ¿ì ¶óÀο¡¼­ óÀ½¿¡ °Ë»öµÈ ¹®ÀÚ¸¸ ġȯÇÏ°í ´ÙÀ½ ¶óÀÎÀ¸·Î ³Ñ¾î°£´Ù.


2.3.2. ÆÄÀÏ ÀúÀå, ¿­±â, Á¾·á

ÆÄÀÏ¿­±âÀÇ °æ¿ì vi ¸¦ ½ÇÇà½Ãų´ë ¸í·ÉÇà ¿É¼ÇÀ¸·Î ¿­±â°¡ °¡´ÉÇÏ´Ù. ¶ÇÇÑ vi ¸¦ ÀÌ¹Ì ½ÇÇà ½ÃŲÈÄ¿¡µµ ¸í·É¸ðµå¿¡¼­ ¸í·ÉÀ» ÀÔ·ÂÇÔÀ¸·Î ÆÄÀÏÀ» ¿­¼ö ÀÖ´Ù. ¿­°íÀÚ ÇÏ´Â ÆÄÀÏÀÌ ÀÌ¹Ì Á¸ÀçÇÒ°æ¿ì¿¡´Â Á¸ÀçÇÏ´Â ÆÄÀÏÀÌ ¿­¸®°í, ¿­°íÀÚ ÇÏ´Â ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾ÊÀ»°æ¿ì »õ·Î¿î ÆÄÀÏÀÌ ¸¸µé¾îÁø´Ù.

표 8. ÀúÀå,¿­±â,Á¾·á

:e [filename]filename À¸·Î ÆÄÀÏ¿­±â
:q, :q!, :wqÁ¾·á, °­Á¦Á¾·á, ÀúÀåÈÄ Á¾·á
:w, :w [filename]ÇöÀçÆÄÀϸíÀ¸·Î ÀúÀå, filename ·Î ÀúÀå
:<¹üÀ§>w [filename]ÁöÁ¤ÇÑ ¹üÀ§¸¸ ´Ù¸¥ ÆÄÀÏ·Î ÀúÀå
:e [filename]filename À» ÆíÁýÇϱâ À§Çؼ­ ¿¬´Ù
ZZÁö±ÝÆÄÀÏÀ» ÀúÀåÇϰí vim À» Á¾·áÇÑ´Ù.
:fÇöÀç ÀÛ¾÷ÁßÀÎ ÆÄÀÏÀÇ À̸§°ú, ¶óÀμö¸¦ Ãâ·ÂÇÑ´Ù

3. °³¹ßÀÚ¸¦ À§ÇÑ vim »ç¿ëÆÁ

3.1. È­¸é ³ª´©±â

vim Àº ¼öÆò³ª´©±â¿Í ¼öÁ÷³ª´©±â¸¦ Á¦°øÇÑ´Ù. ¼öÆò³ª´©±â´Â ":split [ÆÄÀÏÀ̸§]" ¼öÁ÷³ª´©±â´Â "vs [ÆÄÀÏÀ̸§]" À¸·Î ³ª´­¼ö ÀÖ´Ù. ÆÄÀÏÀ̸§À» ÁöÁ¤ÇÑ °æ¿ì, »õ·Î ¸¸µé¾îÁø â¿¡´Â ÆÄÀÏÀ̸§ À» °¡Áö´Â ÆÄÀÏÀÌ ¿­¸®°í, ÆÄÀÏÀ̸§À» ÁöÁ¤ÇÏÁö ¾ÊÀ»°æ¿ì ¶È°°Àº ÆÄÀÏÀÌ ¿­¸°´Ù. ÀÌ ±â´ÉÀº ÇöÀç ÆÄÀÏÀÇ ´Ù¸¥ ºÎºÐÀ» ÂüÁ¶ÇÏ°í ½ÍÀ»¶§ À¯¿ëÇÏ°Ô »ç¿ëÇÒ¼ö ÀÖ´Ù(ÂüÁ¶ÇÏ´Â ºÎºÐÀ¸·Î À̵¿Çϱâ À§Çؼ­ ¿Ô´Ù°¬´Ù ÇÏÁö ¾Ê¾Æµµ µÇ¹Ç·Î). ¶ÇÇÑ ":10split [ÆÄÀÏÀ̸§]", "10vs [ÆÄÀÏÀ̸§]" µîÀ¸·Î âÀÇ Å©±â¸¦ Á¶ÀýÇØ ÁÙ¼öµµ ÀÖ´Ù. â ³ª´©±â´Â 2°³ ÀÌ»ó ³ª´©±âµµ °¡´ÉÇÏ´Ù.

ÀÌ·¸°Ô âÀ» ºÐÇÒ½ÃÄÑ ³õÀ¸¸é ½î¾²¸¦ ÂüÁ¶Çϱ⵵ ÆíÇϰí, ¹«¾ùº¸´Ù ÆíÁý(»èÁ¦,º¹»ç,ºÙÀ̱â)°¡ °¡´ÉÇϹǷΠÈξÀ´õ ÀÛ¾÷À» ¼ö¿ùÇÏ°Ô ÇÒ¼ö ÀÖ´Ù.


3.1.1. È­¸é À̵¿

¸í·É ¸ðµå¿¡¼­ CTRL+ww ¸¦ ÀÔ·ÂÇÏ¸é µÈ´Ù. ±×·¯¸é ¾Æ·¡Ã¢À¸·Î À̵¿ÇÑ´Ù. ÀÓÀÇ·Î À̵¿Çϱâ À§Çؼ­´Â Ctrl+w ¸¦ ÀÔ·ÂÇÑ »óÅ¿¡¼­ À̵¿¸í·É[hjkl]¸¦ ÀÌ¿ëÇÏ¸é ¿øÇÏ´Â ¹æÇâÀ¸·Î âÀ̵¿ÀÌ °¡´ÉÇÏ´Ù.


3.1.2. ÆÄÀÏ ³×ºñ°ÔÀ̼Ç

vim 6.0 ºÎÅÍ´Â ÆÄÀϳ׺ñ°ÔÀÌ¼Ç ±â´ÉÀÌ Á¸ÀçÇÕ´Ï´Ù. ¿¹¸¦µé¾î vi ·Î ÆÄÀÏÀ» ¿­¶§ ÆÄÀÏÀ» µð·ºÅ丮·Î ÁöÁ¤Çϸé ÇØ´çµð·ºÅ丮ÀÇ ³»¿ëÀÌ ³×ºñ°ÔÀÌ¼Ç µÇ°í, µð·ºÅ丮 À̵¿¹× ÆÄÀÏ ¼±ÅÃÀÌ °¡´ÉÇÏ´Ù.

	
vi ./   # ÇöÀç µð·ºÅ丮³»¿ëÀ» ³×ºñ°ÔÀÌ¼Ç ÇØÁØ´Ù. 
				


3.2. ÆÄÀÏ ³×ºñ°ÔÀÌ¼Ç ¹Ù ¸¸µé±â

À©µµ¿ìÀÇ ¿ïÆ®¶ó ¿¡µðÆ®¿Í °°Àº ÇÁ·Î±×·¥À» º¸¸é ¿ÞÂÊ¿¡ ÆÄÀϳ׺ñ°ÔÀ̼ÇÀÌ À־ ¿øÇÏ´Â ÆÄÀÏÀ» ¹Ù·Î ¼±ÅÃÇØ¼­ ÆíÁýÇÏ´Â ±â´ÉÀÌ ÀÖ´Ù. vim À¸·Îµµ ÀÌ·¯ÇÑ ±â´ÉÀ» ±¸ÇöÇÒ¼ö ÀÖ´Ù. À̰ÍÀº vim ÀÇ file navigation ±â´É°ú ⳪´©±â ±â´ÉÀ» ÀÌ¿ëÇØ¼­ ±¸ÇöÇÏ¸é µÈ´Ù.

vi °¡ ½ÇÇàµÇ »óÅ¿¡¼­ ¼öÁ÷â ³ª´©±â ±â´ÉÀ» ÀÌ¿ëÇØ¼­ ":20vs ./" ¸í·ÉÀ» ³»·Áº¸ÀÚ ±×·³ ±×¸²°ú °°ÀÌ ¿À¸¥ÂÊ¿¡ ÆÄÀÏ ³×ºñ°ÔÀÌ¼Ç ¹Ù°¡ »ý±èÀ» ¾Ë¼ö ÀÖ´Ù.

그림 1. ÆÄÀϳ׺ñ°ÔÀ̼ÇÀ» ¸¸µç È­¸é

ÀÌÁ¦ ¿­±â¸¦ ¿øÇÏ´Â ÆÄÀÏÀ§Ä¡¿¡ °¡¼­ shift+o ¸¦ ÀÔ·ÂÇØº¸ÀÚ, ±×·³ ¿·ÀÇ ÆíÁýâ¿¡ »õ·Î¿î ÆÄÀÏÀÌ ¿­¸®´Â°ÍÀ» ¾Ë¼ö ÀÕÀ»°ÍÀÌ´Ù. ¿©±â¿¡ ´õÇØ¼­ ÆíÁýÀåÀ» split ·Î ³ª´©¸é, ¿©·¯°³ÀÇ ÆÄÀÏÀ» ¿À°¡¸é¼­ ÆíÁýÀÌ °¡´ÉÇØÁú °ÍÀÌ´Ù. [vim 7¿¡¼­´Â shift+p·Î ´ÜÃà۰¡ º¯°æµÆ´Ù]


3.3. ¿©·¯°³ÀÇ ÆÄÀÏ ÆíÁýÇϱâ

À§¿¡¼­´Â ⳪´©±â¸¦ ÀÌ¿ëÇÑ ¿©·¯°³ÀÇ ÆÄÀÏÆíÁý¿¡ ´ëÇØ¼­ ¾Ë¾ÆºÃ´Âµ¥, ¶Ç´Ù¸¥ ¹æ¹ýÀÌ ÀÖ´Ù. óÀ½¿¡ vim À» ÅëÇÏ¿© ¿©·¯°³ÀÇ ÆÄÀÏÀ» open ÇÏ°í ¿©·¯°³ÀÇ ¿­¸° ÆÄÀÏÀ» À̵¿Çϸ鼭 ÆíÁýÇÏ´Â ¹æ¹ýÀÌ´Ù. ¸ÕÀú vimÀ» ´ÙÀ½°ú °°ÀÌ ½ÇÇà½ÃŲ´Ù.

 
[yundream@localhost test]# vim file1.txt file2.txt ...
			
±×·¯¸é óÀ½ È­¸éÀº file1.txt ÆíÁýÈ­¸éÀϰÍÀÌ´Ù. 2¹øÂ° ÆÄÀÏÀÎ file2.txt ÆíÁýÈ­¸éÀ¸·Î ³Ñ¾î°¡±æ ¿øÇÑ´Ù¸é(¾Õ¿¡ ÀÖ´Â ÆÄÀÏ ÆíÁý)
:n
			
file2.txt ¿¡¼­ file1.txt ¸¦ ÆíÁýÇÏ±æ ¿øÇÑ´Ù¸é(µÚ¿¡ ÀÖ´Â ÆÄÀÏÆíÁý)
:e#
			
split ¸¦ ÀÌ¿ëÇØ¼­ ¿©·¯°³ÀÇ ÆÄÀÏÀ» ÆíÁýÇÒ¶§¿Í ¸¶Âù°¡Áö·Î, °¢Á¾ ÆíÁý±â´É(º¹»ç,»èÁ¦,ºÙÀ̱â)ÀÌ ¼­·Î °øÀ¯µÇ¹Ç·Î ÆíÇÏ°Ô ÀÛ¾÷ÀÌ °¡´ÉÇÏ´Ù.


3.4. Àá½Ã ½©·Î ³ª°¡±â

º¸Åë vim»ó¿¡¼­ ½©¸í·É¾î¸¦ ½ÇÇà½Ã۱â À§Çؼ­ :![¸í·É¾î] ¸¦ »ç¿ëÇϴµ¥, ÀÌ°Í º¸´Ù´Â Ctrl+z ¸¦ ÀÌ¿ëÇØ¼­ ½©·Î ºüÁ®³ª°¡¼­ ÀÛ¾÷ÇÏ´Â°Ô ´õ ÆíÇÏ´Ù. shell ÀÌ job control ±â´ÉÀ» ÀÌ¿ëÇѰÍÀ¸·Î, ½©¿¡¼­ ¿øÇÏ´Â ÀÛ¾÷À» ¼öÇàÇÏÈÄ fg ¸í·ÉÀ» ÀÌ¿ëÇØ¼­ ´Ù½Ã vi ÆíÁý »óÅ·ΠµÇµ¹¾Æ ¿Ã¼ö ÀÖ´Ù. vim »ç¿ëÀÚ¸¦ º¸¸é °¡²û ½©ÀÛ¾÷À» Çϱâ À§Çؼ­ vim À» ¾Æ¿¹ Á¾·á ½ÃÄѼ­ ½©·Î ºüÁ®³ª°£ ´ÙÀ½¿¡ ÀÛ¾÷À» Çϰí vim À» ´Ù½Ã ½ÇÇà½ÃŰ´Â °æ¿ì°¡ Àִµ¥, ÀÌÁ¦´Â ±×·²Çʿ䰡 ¾øÀÌ Á»´õ ÆíÇÏ°Ô ÀÛ¾÷À» ÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù.


3.5. ¼±ÅÃµÈ block ¸¦ ´Ù¸¥ À̸§À¸·Î ÀúÀåÇϱâ

split ±â´ÉÀ» ÀÌ¿ëÇØ¼­ âÀ» ³ª´©°í, ¿øÇÏ´Â ºí·°À» ¼±ÅÃÇØ¼­ º¹»çÇÑ´ÙÀ½¿¡, »õ·Î¸¸µçâ¿¡ °¡Á®´Ù ºÙÀ̱⸦ ÇÏ¸é µÈ´Ù.

±×·¯³ª À̹æ¹ýÀº Á¶±Ý º¹ÀâÇÑ °¨ÀÌ ¾øÀÝ¾Æ ÀÖ´Ù. ÀÌ·²¶§´Â ºí·°À» ¼±ÅÃÇØ¼­ :'<,'>w [ÆÄÀϸí] Çϸé Á»´õ °£´ÜÇÏ°Ô ¿øÇÏ´Â ÀÛ¾÷À» ¼öÇàÇÒ¼ö ÀÖ´Ù.


3.6. ºü¸¥ °ýÈ£ À̵¿

C³ª C++ À» »ç¿ëÇÏ´Ùº¸¸é Á¦¾î¹®À̳ª ÇÔ¼ö¿¡¼­ ¸¹Àº °ýÈ£('{','(')¸¦ ¸¸³ª°Ô µÈ´Ù. À̶§ °ýÈ£ÀÇ Á¦ÀÏ ¸¶Áö¸·À¸·Î À̵¿ÇÏ°í ½ÍÀ»¶§°¡ ÀÖÀ»°ÍÀÌ´Ù. ÀÌ·²¶§´Â ']}' ¸¦ »ç¿ëÇÏ¸é µÈ´Ù. '[{' ¸¦ »ç¿ëÇÏ¸é °ýÈ£ÀÇ Ã³À½À¸·Î À̵¿ÇÑ´Ù.


3.7. À§Ä¡ ¸¶Å©(mark)Çϱâ

ÀÏÁ¾ÀÇ ºÏ¸¶Å©±â´ÉÀ¸·Î ÀÚÁÖÂüÁ¶ÇÒ¸¸ÇÑ ¶óÀÎÀ» ¸¶Å·Çصΰí ÇÊ¿äÇÒ¶§ °£´ÜÈ÷ ÇØ´ç ¸¶Å·Áö¿ªÀ¸·Î À̵¿Çϱâ À§Çؼ­ »ç¿ëÇÑ´Ù. ¸¶Å·À» À§Çؼ­´Â ¸í·É¸ðµå¿¡¼­ m۸¦ ´­·¯¼­ ¸¶Å·¸ðµå·Î µé¾î°¡¸é µÈ´Ù. ±×¸®°í ¿µ¹® [a-zA-Z]ŰÁß ¾Æ¹«°Å³ª ´­·¯ÁÖ¸é µÈ´Ù. ¸¸¾à a¸¦ ´­·¯ÁÖ¾ú´Ù¸é, ÇöÀç¶óÀÎÀº aÀ̸§À¸·Î ¸¶Å·µÈ´Ù. ÀÌÈÄ ÀÛ¾÷À»ÇÏ´Ù°¡ a¸¶Å·¶óÀÎÀ¸·Î °¡°í ½Í´Ù¸é 'a ÇØÁÖ¸éµÈ´Ù. ÀÌ »óÅ¿¡¼­ ¿ø·¡ ¶óÀÎÀ¸·Î µÇµ¹¾Æ°¡°í ½Í´Ù¸é ''¸¦ ´­·ÁÁÖ¸é µÈ´Ù.

¹°·Ð ´ÙÁ߸¶Å·µµ Çã¿ëÇÑ´Ù. ¸¶Å·ÇÒ¼ö ÀÖ´Â ¹®ÀÚ´Â ´ÜÀÏ¿µ¹®ÀÚÀÌ´Ù. ¸¶Å·¿¡ »ç¿ëµÇ´Â ¿µ¹®ÀÚ´Â ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÔÀ¸·Î Ãִ븶ŷ°¡´ÉÇÑ ¼ö´Â 27*2°¡ µÉ°ÍÀÌ´Ù.


3.8. Æú´õ(Á¢±â) ±â´ÉÀÌ¿ëÇϱâ

vim 6.0 ¿¡ »õ·ÎÀÌ Æ÷ÇÔµÈ ÁÁÀº ±â´ÉÀ¸·Î ÄÚµåÀÇ Æ¯Á¤¿µ¿ªÀ» Á¢À»¼ö ÀÖ´Ù. ±×·³À¸·Î Äڵ带 ºÐ¼®ÇÒ¶§ ¾µµ¥ ¾ø´Â ºÎºÐÀ» °¨ÃçÁ༭ Á»´õ ÆíÇÏ°Ô ºÐ¼®ÀÌ °¡´ÉÇÕ´Ï´Ù. visual block ¸¦ ÀÌ¿ëÇØ¼­ ¿øÇÏ´Â ¿µ¿ªÀ» ¼±ÅÃÇÑ´ÙÀ½ :zf ¸¦ ÀÌ¿ëÇϸé ÇØ´ç¿µ¿ªÀÌ Á¢Èù´Ù. :zo ¸¦ »ç¿ëÇϸé Á¢Èù¿µ¿µÀ» ¿ø»óÅ·Πº¹±¸ÇÒ¼ö ÀÖ°í :zc ¸¦ »ç¿ëÇϸé ÇØ´ç¿µ¿ªÀ» ´Ù½Ã Á¢À»¼ö ÀÖ´Ù. ¶ÇÇÑ ´ÙÁß Á¢±â¸¦ Çã¿ëÇØ¼­ Á¢±Ù±¸¿ªÀ» ´Ù½Ã Á¢À»¼öµµ ÀÖ´Ù.


3.9. °£´ÜÇÑ man ÆäÀÌÁö ÂüÁ¶

vim À» ÀÌ¿ë ÄÚµùÁß¿¡ ÇÔ¼öÀÇ ÇÁ·ÎÅä ŸÀÔÀÌ »ý°¢³ªÁö ¾ÊÀ»¶§ ÁÖ·Î man page ¸¦ ÂüÁ¶ÇÏ°Ô µÈ´Ù. º¸ÅëÀº âÀ» Çϳªµû·Î ¶ç¿ö¼­ ±×°÷¿¡¼­ man page ¸¦ º¸´Âµ¥, ÄÚµùÁß¿¡ °£´ÜÇÏ°Ô ÇØ´ç ÇÔ¼ö¿¡ ´ëÇÑ man page ¸¦ º¼¼ö ÀÖ´Ù. man page ¸¦ ¿øÇÏ´Â ÇÔ¼ö À§·Î Ä¿¼­¸¦ ¿Å±ä´ÙÀ½ Shift + k ¸¦ ÀÔ·ÂÇϸé ÇÔ¼öÀÇ man page °¡ ¶ã°ÍÀÌ´Ù. 'q' ¸¦ ÀÔ·ÂÇØ¼­ man page ¸¦ Á¾·á½ÃŰ¸é ¿ø·¡ÀÇ vim È­¸éÀ¸·Î µÇµ¹¾Æ¿Â´Ù.


3.10. ÇÔ¼ö/º¯¼ö¸í ÀÚµ¿¿Ï¼º

ÄÚµùÁß¿¡ °¡Àå ¹üÇϱ⠽¬¿î À߸øÁßÀÇ Çϳª°¡ º¯¼ö¸í¹× ÇÔ¼ö¸í ¿ÀŸÀϰÍÀÌ´Ù. ¶Ç º¯¼ö¸íÀÌ ±â¾ïÀÌ Àß ³ªÁö ¾Ê¾Æ¼­ óÀ½ ¼±¾ðÇѰ÷À» ´Ù½Ã È®ÀÎÇÏ´Â ÀÛ¾÷¿ª½Ã ÄÚµùÀ» ¸Å¿ì ¹ø°Å·Ó°Ô ÇÑ´Ù. À̶§ ÇÔ¼ö ÀÚµ¿¿Ï¼º ±â´ÉÀ» ÀÌ¿ëÇϸé ÀÌ·¯ÇÑ ¿°·ÁµéÀ» ÁÙÀϼö ÀÖ´Ù.

int client_sockfd ¶ó°í º¯¼ö ¼±¾ðÀ» Çß´Ù°í ÇÏÀÚ. ÄÚµùÁß¿¡ client_sockfd ¸¦ ¾µÀÏÀÌ ÀÖ´Ù¸é cli^p ¸¦ ÀÔ·ÂÇØº¸ÀÚ. ±×·¯¸é º¯¼ö À̸§ÀÌ ÀÚµ¿À¸·Î ¿Ï¼ºµÇ´Â°ÍÀ» º¼¼ö ÀÖÀ»°ÍÀÌ´Ù. ^p´Â Ctrl+p ÀÌ´Ù.


3.11. ctags ¸¦ ÀÌ¿ëÇÑ ½î¾² ºÐ¼®

½î¾²¸¦ ºÐ¼®Çϴµ¥ À־ °¡Àå Áß¿äÇÑ °ÍÀº ¿ª½Ã ÇÔ¼ö¸¦ ºÐ¼®Çؼ­, ÇÔ¼ö°¡ ¾î¶²ÀÏÀ» ÇÏ´ÂÁö ¾Ë¾Æ³»´Â °ÍÀÌ´Ù. ctags ¸¦ ÀÌ¿ëÇϸé ÀÌ·¯ÇÑ ½î¾² ºÐ¼®ÀÛ¾÷À» Á»´õ ¼ö¿ùÇÏ°Ô ÇÒ¼ö ÀÖ´Ù. ctags ¿Í °ü·ÃµÈ¹®¼­´Â ctags ¸¦ ÀÌ¿ëÇÑ ½î¾² ºÐ¼® À» Âü°íÇϱ⠹ٶõ´Ù.


3.12. ÀÚµ¿µé¿©¾²±â

ÇÁ·Î±×·¡¹Ö ÇÒ¶§ indent ´Â ½î¾²Äڵ带 º¸±âÁÁ°Ô ¸¸µé±â À§ÇÑ Çʼö »çÇ×ÀÌ´Ù. º¸Åë tab À» ÁÖ·Î ¾²´Âµ¥,

:set ai
			
¸í·ÉÀ» ÀÌ¿ëÇϸé ÀÚµ¿ÀûÀ¸·Î indent (auto indent) ¸¦ Àû¿ë½ÃÄÑÁֹǷÎ, Á»´õ ÄÚµù¿¡¸¸ ÁýÁßÇÒ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù.
:set noai 
			
¸í·ÉÀ» »ç¿ëÇØ¼­ auto indent »óŸ¦ ÇØÁ¦ÇÒ¼ö ÀÖ´Ù.

¿äÁòÀÇ vim Àº ±âº»ÀûÀ¸·Î auto indent »óÅÂÀ̹ǷÎ, º°´Ù¸¥ ¼³Á¤¾øÀÌ ÆíÇÏ°Ô »ç¿ë°¡´ÉÇÏ´Ù. ±×·¯³ª À¥¿¡¼­ °¡Á®´Ù ºÙÀ̱⸦ ÇÒ¶§ ¿©±â¿¡ auto indent °¡ Àû¿ëµÇ¾î¼­ °ÈÀâÀ» ¼ö ¾øÀÌ tab ÀÌ µé¾î°¡´Â °æ¿ì°¡ »ý±æ¶§µµ Àִµ¥, ÀÌ·²¶§ set noai ¸¦ ÀÌ¿ëÇØ¼­ auto indent ¸¦ ÇØÁ¦ÇÏ°í °¡Á®´Ù ºÙÀ̱⸦ ÇÏ¸é µÈ´Ù.


3.13. ÅÇ»çÀÌÁî Á¶Á¤Çϱâ

½î¾²¿¡¼­ indent ¸¦ À§Çؼ­ ÁÖ·Î ÅÇÀ» »ç¿ëÇϴµ¥, º¸Åë ÀÌ ÅÇ »çÀÌÁî´Â 8·Î µÇ¾î ÀÖ´Ù. ±×·±µ¥ 8À̶õ ÅÇ»çÀÌÁî°¡ ¶§·Î´Â ³Ê¹« Ä¿¼­, ½î¾²°¡ È­¸é¹ÛÀ¸·Î ³ª°¡¼­ ¿ÀÈ÷·Á ½î¾² º¸±â¸¦ ¾î·Æ°Ô ¸¸µé¶§µµ ÀÖ´Ù. ÀÌ·²¶§ ´Â ÅÇ»çÀÌÁ ÁÙ¿©¾ß Çϴµ¥ ´ÙÀ½°ú °°Àº ¸í·ÉÀ» ÅëÇØ¼­ ÅÇ»çÀÌÁî º¯°æÀÌ °¡´ÉÇÏ´Ù.

:set ts=4
			


3.14. ¶óÀÎ ³Ñ¹ö¸µ

ÄÚµùÇÏ´Ùº¸¸é ¶óÀγѹö°¡ ÀÖÀ¸¸é ÇÒ¶§°¡ ÀÖ´Ù. ±×·²¶§´Â

:set nu 
			
ÇÏ¸é µÈ´Ù.

그림 2. ¶óÀÎ ³Ñ¹ö¸µ

¶óÀγѹö¸¦ ¾ø¾Ö°í ½Í´Ù¸é,
:set nonu
			
ÇÏ¸é µÈ´Ù.


3.15. Äڵ带 HTML·Î ÀúÀåÇϱâ

vim Àº ¶ÇÇÑ Äڵ带 HTML ÇüÅ·ΠÀúÀåÇÏ´Â ±â´ÉÀ» °¡Áö°í ÀÖ´Ù. ÀÌ ±â´ÉÀ» ÀÌ¿ëÇϸé syntax highlight µÈ »óÅ ±×´ë·Î HTML·Î º¯È¯ÀÌ °¡´ÉÇÏ´Ù. ½î¾²ÄÚµåÀÇ ¿¹Á¦¸¦ ¸¸µé¾î¼­ À¥»ó¿¡ ¿Ã¸®°íÀÚ ÇÒ¶§ À¯¿ëÇÏ°Ô »ç¿ëÇÒ¼ö ÀÖ´Â ±â´ÉÀÌ´Ù.

:so $VIMRUNTIME/syntax/2html.vim 
			


3.16. vim ¼³Á¤ÆÄÀÏ ¸¸µé±â

Áö±Ý±îÁö ¿ì¸®´Â ´Ù¾çÇÑ ¼³Á¤À» ÅëÇØ¼­ vim À» Á»´õ ½±°Ô »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æ º¸¾Ò´Ù. ±×·±µ¥, ÅÇ»çÀÌÁ Àû¿ëÇϱâ À§Çؼ­ vim À» ½ÇÇà½Ãų¶§ ¸¶´Ù ":set ts=4" ÀÌ·±½ÄÀ¸·Î Çϸé ÀÛ¾÷ÀÌ ¸Å¿ì ±ÍÂúÀ»°ÍÀÌ´Ù. ÀÌ·²¶§´Â vim À» À§ÇÑ ¼³Á¤ÆÄÀÏÀ» ¸¸µé¾î¼­, vim ÀÌ ½ÃÀÛÇÒ¶§ ¼³Á¤ÆÄÀÏÀ» Àоîµé¿©¼­ ȯ°æÀÌ ÀÚµ¿À¸·Î ¼³Á¤µÇµµ·Ï ÇϸéµÈ´Ù.

ÀÚ±âÀÇ °èÁ¤(Home) µð·ºÅ丮¿¡ º¸¸é, .vimrc ¶ó´Â ÆÄÀÏÀÌ Á¸Àç ÇÒ°ÍÀÌ´Ù. (Á¸ÀçÇÏÁö ¾Ê´Â´Ù¸é ¸¸µéµµ·ÏÇÑ´Ù) À̰ÍÀÌ ¼³Á¤ÆÄÀÏ·Î ¾Æ·¡¿Í °°Àº ¹æ¹ýÀ¸·Î ÀڱⰡ ¿øÇÏ´Â ³»¿ëÀ» ¼³Á¤ÇÏ¸é µÈ´Ù.

set ts=4
set nu
			

ÅÂ±× :

category_TOOL
category__14
º¸³½ Æ®·¢¹é Á¤º¸
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.