vi, vim È°¿ë... ÃÖÁ¾ ¼öÁ¤ÀÏ : 7.10 1999 ÀÛ¼ºÀÚ : ¼º½Ãâ (nu11@kldp.org)


 

1. vi, vim ¼Ò°³

2. ±âº»ÀûÀÎ ÆíÁý, ¸í·É

3. ã±â, ġȯ

4. The Power of ex

5. vim¿¡ Ãß°¡µÈ ±â´Éµé

6. ±âŸ ÆÁ


 

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ÇÒ ¼ö ÀÖ°ÚÁÒ...^^;

 

ÇöÀçÀ§Ä¡¿¡¼­ »ðÀÔ
ÇöÀçÁÙÀÇ Ã³À½ À§Ä¡¿¡¼­ »ðÀÔ
ÇöÀçÀ§Ä¡¿¡¼­ Ãß°¡
ÇöÀçÁÙÀÇ ³¡¿¡¼­ Ãß°¡
»õ·Î¿î ÇÑ ÁÙÀ» Ä¿¼­ ¾Æ·¡ÁÙ¿¡ ¿¬´Ù.
»õ·Î¿î ÇÑ ÁÙÀ» Ä¿¼­ À§ÁÙ¿¡ ¿¬´Ù.
ÁÙÀ» Áö¿ì°í »ðÀÔ¸ðµå·Î
ÇöÀç À§Ä¡¿¡¼­ Relpace ¸ðµå·Î
´ÙÀ½ÁÙ°ú ÇöÀçÁÙÀ» ÇÕÄ£´Ù.
´ë¹®ÀÚ<->¼Ò¹®ÀÚ
¸¶Áö¸· ¸í·ÉÀ» ¹Ýº¹ÇÑ´Ù.
¸¶Áö¸· ¼öÁ¤ÇÑ °ÍÀ» Ãë¼ÒÇÑ´Ù.
ÁÙÀ» óÀ½ »óÅ·Πº¹±¸ÇÑ´Ù.

i
I
a
A
o
O
S
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
2cw or c2w
cc
c$  or C
c0
r

dw
2dw or d2w
dd
d$  or D
d0
x or X

yw
2yw or y2w
yy
y$ or Y
y0
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Å°¸¦ »ç¿ëÇÕ´Ï´Ù.

 

¹®ÀÚ¿­ÀÇ Ã³À½À¸·Î ¾ÕÀ¸·Î °Ë»ö   
¹®ÀÚ¿­ÀÇ Ã³À½À¸·Î µÚ·Î °Ë»ö     
°Ë»öÀ» ´Ù½Ã ¹Ýº¹ (°°Àº ¹æÇâ)    
°Ë»öÀ» ´Ù½Ã ¹Ýº¹ (¹Ý´ë ¹æÇâ)    
ÇöÀç ÁÙ¿¡¼­ x°¡ ÀÖ´Â °÷À¸·Î À̵¿
ÇöÀç ÁÙ¿¡¼­ x°¡ ÀÖ´Â °÷À¸·Î À̵¿
nÇà ¹Ø¿¡¼­ x°¡ ÀÖ´Â °÷À¸·Î À̵¿
nÇà À§¿¡¼­ x°¡ ÀÖ´Â °÷À¸·Î À̵¿
ÁÙ¿¡¼­ ã±â¸¦ °°Àº ¹æÇâÀ¸·Î ¹Ýº¹
ÁÙ¾Ö¼­ ã±â¸¦ ¹Ý´ë ¹æÇâÀ¸·Î ¹Ýº¹
Çà À̵¿ n¹ø° ÁÙ·Î À̵¿         
                                
¿­ À̵¿                         
ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ´Ü¾î ã±â    
ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ´Ü¾î ã±â    

/pattern                     
?pattern                     
n                            
N                            
fx (¾ÕÀ¸·Î)                  
Fx (´ç±Ù ¿ª¹æÇâÀ¸·Î)         
tx                           
Tx                           
;                            
,                            
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 ¿­±â
¿©·¯ ÆÄÀÏ ¿­±â
Àбâ Àü¿ëÀ¸·Î ¿­±â
¿­°í ¸¶Áö¸· Çà¿¡ À§Ä¡
ÆÄÀÏÀ» ¿­°í n ¹ø° Çà¿¡ À§Ä¡
ÆÐÅÏÀÌ ³ªÅ¸³ª´Â °÷¿¡ Çà À§Ä¡
º¯°æµÈ ÆÄÀÏÀ̸é ÀúÀåÇÏ°í Á¾·á
ÀúÀåÇÏ°í Á¾·á
ÆÄÀÏÀÇ ÀúÀå
ƯÁ¤ ¹üÀ§¸¸ ÀúÀå
ƯÁ¤ ¹üÀ§¸¦ ´Ù¸¥ ÆÄÀÏ¿¡ µ¡ºÙÀÓ

vi [filename]
vi [filename1] [filename2]
view [filename] ¶Ç´Â vi -R [filename]
vi + [filename]
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¸¦ ³Ö¾îÁÖ¸é µË´Ï´Ù. ±×·³ ¿¬½À¹®Á¦¸¦ Ç®¾îº¸¼¼¿ä.

¿¬½À¹®Á¦ 2

¹®Á¦ 1) ÇöÀç Ä¿¼­ À§Ä¡°¡ unknownÀÇ u¿¡ ÀÖ´Ù°í ÇÏÀÚ. ´Ü °¢°¢ ¹®Á¦¿¡ °á°ú´Â ´ÙÀ½ ¹®Á¦¿¡ ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê´Â´Ù°í °¡Á¤...

  1. ÇöÀçÀ§Ä¡¿¡¼­ ±×ÁÙ ³¡±îÁö »èÁ¦, º¹»ç
  2. 4ÁÙ º¹»ç ÈÄ ¸¶Áö¸· ÁÙ ¾Æ·¡¿¡¼­ »ðÀÔ, º¹»ç
  3. ÇöÀç À§Ä¡¿¡¼­ figure outÀÇ out¾Õ ±îÁö »èÁ¦, º¹»ç
  4. ÇöÀç ÁÙ¿¡¼­ ¸¶Áö¸· ÁÙ±îÁö »èÁ¦, º¹»ç
  5. ÇöÀç À§Ä¡¿¡¼­ ÁÙÀÇ Ã³À½±îÁö »èÁ¦, º¹»ç
  6. ÇöÀç À§Ä¡¿¡¼­ 25¿­±îÁö¸¸ »èÁ¦, º¹»ç

¹®Á¦ 2)

1.À§¿¡¼­ 3¹ø° Çà°ú 4¹ø° ÇàÀ» ÇÕÃĶó.

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 ÀÇ °æ¿ì *¶ó¸é ÇØ´çµÇ°ÚÁö¸¸ \+¶ó¸é ÇØ´çµÇÁö ¾Ê½À ´Ï´Ù. ÀÌ»óÀÌ °£´ÜÇÑ Á¤±Ô Ç¥Çö½Ä¿¡  ´ëÇÑ ±âÈ£ÀÌ°í ÀÌÁ¦ º»°ÝÀûÀ¸·Î  °Ë»ö°ú ġȯÀ» ÇØ º¸µµ·Ï ÇÏÁÒ.

 

ÀǹÌ

½Ä³»

¿ø·¡ ¹®ÀÚ¸¦ ³ªÅ¸³»·Á¸é

¾Æ¹« ¹®ÀÚ³ª ÇÑ ¹®ÀÚ
ÇàÀÇ Ã³À½¿¡ ½ÃÀÛ
ÇàÀÇ ³¡À» ÀǹÌ
´Ü¾îÀÇ ½ÃÀÛ
´Ü¾îÀÇ ³¡
ÁÖ¾îÁø ¹üÀ§ ³»¿¡¼­ÀÇ ÇÑ ¹®ÀÚ
ÁÖ¾îÁø ¹üÀ§ ¹Û¿¡¼­ÀÇ ÇÑ ¹®ÀÚ
<Esc>
<Tab>
<CR>
<BS>
0 ¹ø ȤÀº 1¹ø ÀÌ»ó ³ªÅ¸³²
Àû¾îµµ ÇÑ ¹ø ÀÌ»ó ³ªÅ¸³²
¶Ç´Â

.     
^     
$     
\<    
\>    
[a-z]
[^a-z]
\e    
\t    
\r    
\b    
*     
\+    
\|    

\.     
^      
$      
\<     
\>     
\[a-z]
\[^a-z]
\e     
\t     
\r     
\b     
\*     
\+     
\|     

 

POSIX character classes¶ó´Â °Íµµ Àִµ¥ À̰͵µ Á¤±ÔÇ¥Çö½Ä  ³»¿¡¼­ ¾µ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ »õ·Î¿î ±âÈ£µéÀº ¸ðµÎ À§¿¡¼­ Á¦°¡ ¼³¸íÇÑ °Í¸¸À¸·Îµµ  ¸¸µé ¼ö ÀÖ Áö¸¸ ½ÄÀ» ª°Ô Çϱâ À§Çؼ­ ¹Ì¸® ¸¸µé¾î ³õÀº °ÍÀ̶ó°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù. ¿¹¸¦ µé ¾î µÚ¿¡ È®Àå Á¤±ÔÇ¥Çö½Ä¿¡  \p¸¦ Á¤±ÔÇ¥Çö½ÄÀ¸·Î ÇÏ·Á¸é  [0-9a-zA-Z \t][0-9a-zA-Z \t]* ¹¹ ÀÌ·± ½ÄÀ¸·Î Ç¥½ÃÇؾ߰ÚÁÒ(Ʋ¸± ¼öµµ ÀÖ½À´Ï´Ù). Á¤±ÔÇ¥Çö½Ä¿¡ ÀڽŠÀÖ´Â ºÐ Àº ¸ð¸£°ÚÁö¸¸ ´ëºÎºÐÀº ¸¹ÀÌ »ý°¢ÇÏ¿©¾ß ÇÏ°í Àú ó·³ Ȥ½Ã »©¸ÔÀº ¹®ÀÚ°¡ »ý±æÁöµµ ¸ð¸£±â ¶§¹®¿¡ ÀÌ·± ½ÄÀ¸·Î ¶Ç ´Ù¸¥ ±âÈ£¸¦ ¸¸µé¾î Ç¥ÇöÇÏ´Â °ÍÀÌÁÒ.

 

[:alnum:]
[:alpha:]
[:blank:]
[:cntrl:]
[:digit:]
[:graph:]
[:lower:]
[:upper:]
[:print:]
[:punct:]
[:space:]
[:xdigit:]

¾ËÆĺª, ¼ýÀÚ
¾ËÆĺª
°ø¹é¹®ÀÚ Åǹ®ÀÚ Æ÷ÇÔ
control ¹®ÀÚ
¼ýÀÚ
°ø¹é¹®ÀÚ¸¦ Á¦¿ÜÇÑ
¼Ò¹®ÀÚ
´ë¹®ÀÚ
ÇÁ¸°Æ® °¡´ÉÇÑ ¹®ÀÚ °ø¹é Æ÷ÇÔ
±¸µÎÁ¡¹®ÀÚ ) ( , . " ' : ; _ µîµî
°ø¹é¹®ÀÚ
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±îÁö ÀÇ ¹öÆÛ¿¡ ãÀº ¹®ÀÚ¿­ÀÌ º¹»ç°¡ µÇÁö¿ä. ºñ½ÁÇÑ ±âÈ£·Î &°¡  Àִµ¥ À̴ ã¾Æ³½ ¹® ÀÚ¿­À» ³ªÅ¸³À´Ï´Ù. ¶Ç ÇÑ°¡Áö ~±âÈ£Àε¥ ÀÌ°ÍÀº ¹Ù·Î Àü¿¡  ¼öÇàÇÑ °Ë»öÀ̳ª ġȯÀÇ Á¤±ÔÇ¥Çö½ÄÀ» ³ªÅ¸³À´Ï´Ù. ¿¹¸¦ µé¾î¼­ ¼³¸íÇØ º¸µµ·Ï  ÇÏÁÒ. ¿ì¼± ¹®¼­°¡ Çϳª  ÇÊ¿äÇϱº¿ä... ÀÌÀü¿¡ »ç¿ëÇÑ ¹®¼­¸¦ ´Ù½Ã »ç¿ëÇϵµ·Ï ÇÏÁÒ.

:%s/#/_&_/g¶ó°í Çϸé #°¡ ¸ðµÎ _#_¹Ù²î¾î ÀÖÀ» °ÍÀÔ´Ï´Ù. ã´Â ¹®ÀÚ¿­ÀÌ ±æ ¾îÁö´Â °æ¿ì¿¡ &¸¦ »ç¿ëÇÏ¸é °£´ÜÇÏ°ÚÁö¿ä? À̹ø¿£ À§¿¡¼­ ¾ð±ÞÇÑ  hold buffer¸¦ »ç ¿ëÇØ º¾½Ã´Ù. :%s/\(goes\) \(in\)/\2 \1/g ÀÌ·¸°Ô ÀÔ·ÂÇÏ¸é  ¾î¶»°Ô ¹Ù²ð±î¿ä? goes inÀ» ã¾Æ¼­ °¢°¢ hold ¹öÆÛ 1, 2 ¿¡ ÀúÀåÀ» ÇØ µÓ´Ï´Ù. µÚ¿¡¼­ ġȯÇÒ ¶§ ¹öÆÛ À̸§ ÀÌ ¼ø¼­°¡ ¹Ù²î¾î ÀÖÀ¸¹Ç·Î ±× ³»¿ëÀÎ in goes¸¦ Ãâ·ÂÇÏ°Ô µË´Ï´Ù.

 

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 ¿¡µðÅÍ°¡ ¶óÀδÜÀ§ ¿¡µðÅÍÁÒ) ÀÌ·¸°Ô ÀÌÇØÇÏ´Â °ÍÀÌ °¡Àå ½±½À´Ï´Ù.  ¹üÀ§ ¼³Á¤µµ ¹° ·Ð Çà ´ÜÀ§·Î ¼³Á¤ÀÌ µÇ°ÚÁö¿ä? ¹üÀ§¸¦ ¼³Á¤ÇÒ ¶§´Â ,·Î  ±¸ºÐÇؼ­ ½ÃÀÛ°ú ³¡À» ³ªÅ¸ ³À´Ï´Ù. Áï 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Å°¸¦ ´­·¯¼­ ÀÔ·Â À» ¹Þ¾Æµµ  µË´Ï´Ù.  ¾Æ´Ï¸é <F1>  ~  <F9>¸¦ ´ë½Å   ½áÁ־ µÇ°í (ÀÌ   <>¿¡ °ªÀº

/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°¡ ½ÇÇàµÇ°í ±× °á°ú°¡ Áö±Ý À§Ä¡¿¡ µ¡ºÙ¿©Áý´Ï´Ù.

°°Àº ¹æ¹ýÀ¸·Î ÀÚüÀûÀÎ Á¤·ÄÀ»  ÇÏ´Â ¸í·ÉÀº ¾øÁö¸¸ sort¶ó´Â  °­·ÂÇÑ ¼ÒÆ® ÇÁ·Î±×·¥À» ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. sort¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ´Ù¸¥  Ã¥À» Âü°í ÇÏ½Ã±æ ¹Ù¶ó°í, ´ÙÀ½°ú °°ÀÌ °£´ÜÇÑ ¿¹¸¸ µé¾îº¸À̵µ·Ï ÇÏ°Ú½À´Ï´Ù. À§ÀÇ  ³»¿ëÀ» Å©±â¿¡ µû ¶ó¼­ Á¤·ÄÀ» ÇØ º¼±î¿ä?

:2,$ !sort +4

ÀÚ ÀÌÁ¦ ¸¹°í ¸¹Àº À¯´Ð½º ¼¿ ¸í·É¾îµéÀ» ¸ðµÎ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹«¾ùÀ» ´õ ÇÒ ¼ö ÀÖÀ»Áö´Â ... ^^;   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À» ¸¸µé¾î¶ó.

5. vim¿¡ Ãß°¡µÈ ±â´Éµé

5.1 multi-window

vimÀº ¸ÖƼ À©µµ¿ì ±â´ÉÀ» Áö¿øÇÕ´Ï´Ù. ÀÌ ±â´ÉÀº âÀ»  ºÐÇÒÇؼ­ ÇϳªÀÇ vi ¿¡ ¿©·¯ °³ÀÇ ÆÄÀÏÀ» º¸¸é¼­ ÆíÁýÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÖ´Â ±â´ÉÀÔ´Ï´Ù.  :sp ·Î âÀ» ºÐ ÇÒÇϰųª [ctrl]-wn À¸·Î âÀ» »õ·Î ¸¸µé ¼ö ÀÖ½À´Ï´Ù. â°£ÀÇ  À̵¿Àº command ¸ðµå ¿¡¼­ [ctrl]-ww³ª [ctrl]-wk, [ctrl]-wj µîÀ¸·Î ÇÒ ¼ö ÀÖ½À´Ï´Ù. Á÷Á¢ Çغ¸½Ã´Â ÆíÀÌ ÀÌÇØ°¡ ½¬¿ì¸®¶ó´Â »ý°¢ÀÌ µå³×¿ä.  Ã¢À» ´ÝÀ» ¶§´Â  °¢ â¿¡¼­ ÆÄÀÏÀ»  ´Ý¾Æµµ µÇ°í [ctrl]-wc ·Î ´ÝÀ» ¼ö ÀÖ½À´Ï´Ù. Àú´Â °³/ÀÎ/Àû/À¸·Î´Â â ±â´ÉÀ»  °ÅÀÇ ¾²Áö ¾Ê½À´Ï ´Ù. °¡¶àÀ̳ª ÀûÀº ¸ð´ÏÅÍ¿¡ â±îÁö ºÐÇÒÇÏ¸é º¼ ¼ö ÀÖ´Â  ³»¿ëÀÌ ÁÙ¾îµå´Ï±î¿ä. ^^; ¹°·Ð :resize µîÀÇ ¸í·ÉÀ̳ª [ctrl]-w+ [ctrl]-w- [ctrl]-w=µîÀÇ ¸í·ÉÀ¸·Î âÀÇ Å©±â ÀÇ Á¶ÀýÀÌ °¡´ÉÇÕ´Ï´Ù. ÀÌ·¯¸é Á» ¾µ¸¸ÇÕ´Ï´Ù.

5.2 È®Àå Á¤±ÔÇ¥Çö½Ä

¾Æ·¡ ³»¿ëÀº vim ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ Á¤±ÔÇ¥Çö½Ä¿¡  »ç¿ëµÇ´Â ±âÈ£µéÀÔ´Ï´Ù. ÀÌ °ÍµéÀÌ ´Ù ÇÊ¿äÇÑÁö´Â Àǽɽº·´±º¿ä. À§¿¡¼­µµ Àá±ñ ¸»ÇßµíÀÌ  ÀÚÁÖ »ç¿ëµÇ´Â Á¤±Ô½Ä µéÀ» ±âȣȭ ÇØ ³õ¾ÒÀ» »ÓÀÔ´Ï´Ù.

 

5.3 visual mode

vim¿¡¼­ [ctrl]-v ¸¦ ´©¸¥ ä·Î À̵¿À» ÇÏ¸é ¹ÝÀüµÈ ¿µ¿ªÀÌ  »ý±â´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. óÀ½¿¡  [ctrl]-v¸¦ ´©¸£¸é blockÀ¸·Î ¿µ¿ªÀÌ »ý±é´Ï´Ù. À̶§ v¸¦ ÀÔ·Â ÇÏ¸é ¿µ¿ªÀÌ ¹®ÀÚ ´ÜÀ§·Î ÀâÈ÷°í, V¸¦ ´©¸£¸é ¶óÀδÜÀ§·Î ¿µ¿ªÀÌ »ý±é´Ï´Ù.

¼±ÅÃµÈ ¿µ¿ªÀÌ »ý°åÀ» ¶§ ¾µ ¼ö ÀÖ´Â ¸í·Éµé

~
d
c
y
>
<
:
J
U
u
^]

´ë¹®ÀÚ <-> ¼Ò¹®ÀÚ Àüȯ
»èÁ¦
ġȯ
¹öÆÛ¿¡ º¹»ç
set shiftwidth·Î Á¤ÀÇÇØ ³õÀº ¸¸Å­ ¿ì·Î À̵¿
set shiftwidth·Î Á¤ÀÇÇØ ³õÀº ¸¸Å­ Á·ΠÀ̵¿
¼±ÅÃÇÑ ¿µ¿ª¿¡ ´ëÇؼ­ ex ¸í·ÉÀ» ¼öÇà
ÁÙÀ» ÇÕÄ£´Ù.
´ë¹®ÀÚ·Î ¸¸µç´Ù.
¼Ò¹®ÀÚ·Î ¸¸µç´Ù.
tag¸¦ ã´Â´Ù.

 

5.4 tag stack

tag¶õ ÇÑ ¸¶µð·Î ¼³¸íÇÏÀÚ¸é tags ÆÄÀÏ¿¡ Á¸ÀçÇÏ´Â Á÷Á¢ À̵¿À» À§ÇÑ Ç¥½ÃÀÔ ´Ï´Ù. (³»¿ëÀ» º¸¸é À̰͵µ ¸ÅÅ©·ÎÀÔ´Ï´Ù.--;) ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Ùº¸¸é ÇÔ¼öÀÇ ³»¿ë À» ¾Ë°í ½ÍÀº °æ¿ì°¡ »ý±âÁÒ. ÀÌ·± ¶§ ±× ÇÔ¼ö·Î Á÷Á¢  À̵¿À» Çß´Ù°¡ ´Ù½Ã ÆíÁýÇÏ´ø °÷À¸·Î À̵¿À» ÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÝ´Ï´Ù. ´ÙÀ½°ú °°Àº ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù°í ÇսôÙ.

main.c

my.h

ÀÚ ÀÌÁ¦ 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¸¦ ´©¸£¸é º¹±Í±¸¿ä.

5.5 ÇÁ·Î±×·¡¹ÖÀ» À§ÇÑ ¸í·Éµé

vim¿¡´Â tag stackÀÌ¿Ü¿¡µµ  ÇÁ·Î±×·¡¹Ö¿¡ Æí¸®ÇÑ ±â´ÉÀ»  Á¦°øÇÕ´Ï´Ù. ¹Ù·Î ÄÄÆÄÀÏ ÈÄ¿¡ ¿¡·¯°¡ ³­ °÷À¸·Î ¹Ù·Î À̵¿À» ÇÒ ¼ö ÀÖµµ·Ï  ÇØ ÁÖ´Â ±â´ÉÀÔ´Ï´Ù. ¿ì¼± ÄÄÆÄÀϽÿ¡ ¸¸µé¾îÁø error ÆÄÀÏÀ» ÀúÀåÇØ¾ß ÇÕ´Ï´Ù. ¸¸¾à¿¡ MakefileÀÌ ¸¸µé¾îÁ® ÀÖ ´Ù¸é :make ¸í·É ÇÑ ¹ø¸¸ ³»¸®¸é ÀÚµ¿À¸·Î errorfileÀÌ ¸¸µé¾îÁö°í ¿¡·¯°¡ ¹ß»ýÇÑ Çà À¸·Î À̵¿À» ÇÕ´Ï´Ù. :clÀ» ÀÔ·ÂÇÏ¸é  ¿¡·¯ ¸®½ºÆ®°¡ ³ª¿À°í :cnÀ»  ÀÔ·ÂÇÏ¸é ¿¡·¯°¡ ³­ ´ÙÀ½ ÇàÀ¸·Î ÀÚµ¿À¸·Î À̵¿À» ÇÕ´Ï´Ù. :cN Àº ¹Ý´ë ¹æÇâÀ¸·Î ¿¡·¯°¡ ³­ ÇàÀ¸·Î ÀÌ µ¿À» ÇÕ´Ï´Ù. ¿©·¯ ÆÄÀÏ·Î ÀÌ·ç¾îÁø ¼Ò½ºÀÇ °æ¿ì¿¡µµ ´Ù ¿­¾î°¡¸é¼­ µé¾î°©´Ï´Ù.

main.c

my.h

Makefile

ÀÌ·¸°Ô ¸¸µé¾î ³õ°í 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. ±âŸ ÆÁ

À©µµ¿ìÅ° ¸ÅÇÎÇϱâ - 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