LINUX
2019.05.29 / 01:00

9. ÄÚµù ÃÖÀûÈ­ vi(vim) ¼¼ÆÃ

Źµ¹ÀÌ°³¹ßÀÚ
Ãßõ ¼ö 205

À̹ø Æ÷½ºÆÃÀº ÇʼöÀûÀÎ ºÎºÐÀº ¾Æ´Ï³ª, º»Àΰú °°ÀÌ "³ª´Â vi(vim)·Î ÄÚµùÀ» ÇÏ°Ú¾î!" ¶ó´Â »ç¶÷µé¿¡°Õ ³ª¸§ Çʼö(?) ÀûÀÎ ¼¼ÆÃÀÌ´Ù.

µé¾î°¡±â ¾Õ¼­ º»ÀÎÀÇ ½Ã½ºÅÛ È¯°æÀº "¿ìºÐÅõ 16.04LTS"¹öÀüÀÌ´Ù. (CentOS¿¡¼­ °¥¾ÆŽ)


1. ¼øÁ¤ viÀÇ ¹®Á¦Á¡
¿ì¼± ¾Æ¹« ¼³Á¤µµ µÇ¾îÀÖÁö ¾ÊÀº ¼øÁ¤ vim »óÅÂÀÇ °æ¿ì¸¦ º¸ÀÚ.

°£´ÜÇÑ C++ Äڵ带 § °ÍÀε¥ ÀÌ°Å ¹®Á¦°¡ »ý°¢º¸´Ù ¸¹´Ù.
1-1. ÀÚµ¿ µé¿©¾²±â(Àε§Æ®; Indent)°¡ ¾ÈµÈ´Ù.
 - Áß°ýÈ£{ ¸¦ ¾²°í ¿£ÅÍÄ¡°í ÅÇ(Tab) Ãļ­ ÇϳªÇϳª µé¿©¾²±â¸¦ ÇØÁà¾ßµÈ´Ù.
1-2. ÅÇ(Tab)ÀÇ ±æÀÌ°¡ ³Ê¹« ±æ´Ù.
 - ÀϹÝÀûÀ¸·Î TabÀº °ø¹é 4Ä­°ú °°Àºµ¥, À§ »çÁø¿¡¼­ º¸ÀÌ´Â TabÀº °ø¹é 4Ä­Ä¡°ï ³Ê¹« ±æ´Ù.
1-3. ÁÙ ¹øÈ£°¡ ¾ø´Ù.
 - vi ÃÊ°í¼ö°¡ ¾Æ´Ñ ÀÌ»ó¿¡¾ß ÄÚµå ½ÇÇà ÈÄ¿¡´Â ¾ðÁ¦³ª ¿¡·¯¿Í ¸¶ÁÖÇÏ°Ô µÇ´Âµ¥, ¿¡·¯ ¹ß»ý ¶óÀÎÀ» ¾Ë·ÁÁ൵ ¶óÀιøÈ£°¡ ¾øÀ¸¸é ¹«¿ëÁö¹°ÀÌ´Ù. ÄÚµå ±æÀÌ°¡ ±æ¾îÁö¸é ÁÙ ¹øÈ£°¡ ÇʼöÀÎ °ÍÀº ¸»ÇÒ °Íµµ ¾ø´Ù.
1-4. Ŭ¸³º¸µå·Î ÄÚµå º¹»ç°¡ ¾ÈµÈ´Ù.
 - ÀÌ°Ç ½Ã½ºÅÛ¸¶´Ù ÄɹÙÄÉÀε¥ ´ëºÎºÐÀÇ °æ¿ì, vi¿¡¼­ ÀÛ¼ºÇÑ Äڵ带 y³ª yy·Î º¹»çÇϸé Ŭ¸³º¸µå·Î º¹»çµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó¼­ vi ÀÌ¿ÜÀÇ ½Ã½ºÅÛ(ÀÎÅͳÝ, Ä«Åå µî)¿¡´Â ºÙ¿©³Ö±â°¡ ¾ÈµÈ´Ù.

2. ¼öÁ¤ ¹æ¹ý
À§¿¡¼­ »ìÆ캻 4°¡Áö ÇѰ踸 »ý°¢ÇÏ´õ¶óµµ ¼öÁ¤ÇÒ °¡Ä¡´Â ÃæºÐÇÏ´Ù.

2-1. Ŭ¸³º¸µå·Î º¹»ç ±â´ÉÀ» ÀÌ¿ëÇϱâ À§ÇÑ xclip ¼³Ä¡

sudo apt-get install xclip
º»ÀÎÀº ÀÌ¹Ì ¼³Ä¡µÇ¾î À־ apt ½ÇÇà °á°ú ¾÷±×·¹À̵常 µÊ


2-2. ¸ðµç °èÁ¤ÀÌ ¼öÁ¤ÀÇ ÇýÅÃÀ» ´©¸± ¼ö ÀÖµµ·Ï vimÀÇ ¸ÞÀÎ ÆÄÀÏÀ» ¼öÁ¤
(¸¸¾à ƯÁ¤ À¯Àú¸¸ ¼öÁ¤ È¿°ú¸¦ º¸°í ½ÍÀ¸¸é, ~/.vimrc ÀÇ ³»¿ëÀ» ¼öÁ¤ÇØÁÖ¸é µÈ´Ù.)

sudo vim /etc/vim/vimrc

vimÀÇ ¸ÞÀÎ ÆÄÀÏÀ» ¼öÁ¤Çϱâ À§Çؼ± ·çÆ® ±ÇÇÑÀÌ ÇÊ¿äÇÏ´Ù.


2-3. À§ ¸í·É¾î¸¦ ÅëÇØ vimrcÆÄÀÏÀ» ¿­¾úÀ¸¸é ÀÌ°ÍÀú°Í ½á ÀÖÀ»ÅÙµ¥ ´Ù ¹«½ÃÇÏ°í ¸Ç ¾Æ·§ÁÙ¿¡ ¾Æ·¡ÀÇ ÄÚµåµéÀ» Ãß°¡ÇÑ´Ù

set number set ts=8 set sw=4 set sts=4 set smartindent set cindent " Clipboard set clipboard=unnamedplus vmap <C-c> y:call system("xclip -i -selection clipboard", getreg("\""))<CR>:call system("xclip -i", getreg("\""))<CR>

À§¿¡¼­ºÎÅÍ Â÷·Ê´ë·Î ¼³¸íÇÏ¸é ¶óÀιøÈ£ ¼³Á¤, Tab °£°Ý & ÀÚµ¿ µé¿©¾²±â ¼³Á¤, Ŭ¸³º¸µå·Î Ctrl+C¸¦ ÀÌ¿ëÇØ º¹»ç ¼³Á¤ ±â´ÉÀÌ´Ù. (" ´Â ÁÖ¼®Ç¥½Ã)


3. °á°ú È®ÀÎ
¼öÁ¤ °á°ú¸¦ È®ÀÎÇغ¸±â À§ÇØ Äڵ带 ÀÛ¼ºÇغ¸¸é ¾Æ·¡¿Í °°´Ù.

º¸´Ù½ÃÇÇ ÁÙ¹øÈ£, ÅÇ °£°Ý Á¶Á¤, ÀÚµ¿Àε§Æ® ¼³Á¤ÀÌ Á¤»óÀûÀ¸·Î ÀÛµ¿Çϴ°ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.

¶ÇÇÑ Ctrl+C¸¦ ÀÌ¿ëÇÑ Å¬¸³º¸µå·ÎÀÇ º¹»ç´Â ¾Æ·¡¿Í °°ÀÌ ÇÒ ¼ö ÀÖ´Ù.

3-1. Shift+V¸¦ ÀÌ¿ëÇÏ¿© º¹»çÇÒ ¿µ¿ª ºí·Ï ÁöÁ¤


3-2. Ctrl+C¸¦ ÀÌ¿ëÇÏ¿© Ŭ¸³º¸µå·Î º¹»ç


4. ¾Ë¾ÆµÎ¸é ÁÁÀº "ÀÚµ¿ Á¤·Ä" ±â´É
ÀÌ°Ç ¼Ò¼ÒÇÑ ÆÁÀε¥ °¡²û¾¿ Äڵ带 Â¥´Ù º¸¸é ÃÊ¿ùÄÚµùÀ» ÇÏ°Ô µÇ¾î Àε§Æ®°¡ °³ÆÇÀÎ °æ¿ì°¡ ¹ß»ýÇÑ´Ù.

ÀÌ°Ç Á» ½ÉÇѵí

ÀÌ·± °æ¿ì¿¡´Â À§¿¡¼­ ½è¾ú´ø ºñÁÖ¾ó ¶óÀÎ ºí·Ï ÁöÁ¤À» ÀÌ¿ëÇÏ¿© Àüü ÁÙ¸ÂÃãÀ» ÇÒ ¼ö ÀÖ´Ù.

4-1. gg¸¦ ÀÔ·ÂÇÏ¿© ù°ÁÙ·Î À̵¿ ÈÄ, Shift+V, (Shift°¡ ´­¸° »óÅ¿¡¼­)G ¸¦ ÀÌ¿ëÇÏ¿© Àüü ¼±Åà ÈÄ = ¸¦ ´­·¯ Àüü ÁÙ¸ÂÃã ¼öÇà

(Á¤·Ä Àü) ºñÁÖ¾ó ¶óÀÎ ºí·Ï ÁöÁ¤
(Á¤·Ä ÈÄ) 14 lines indented



5. ³¡
¿©±â±îÁö Çؼ­ vi·Î ÄÚµùÇϱâ À§ÇÑ Æí¸®ÇÑ ±â´ÉµéÀÇ ¼³Á¤ ¹× ÆÁ¿¡ ´ëÇØ ¾Ë¾Æº¸¾Ò´Ù. »ç½Ç ÀÌ°Í ¸»°íµµ ´õ ÀÖ°ÚÁö¸¸, ¾ÆÁ÷±îÁø ÀÌÁ¤µµ¸é ÃæºÐÇÑ °Í °°À¸¹Ç·Î ÀÏ´ÜÀº ÀÌÁ¤µµ¸é ¸¸Á·ÇÑ´Ù. ¸¸ÀÏ ´õ ÁÁÀº ³»¿ëµéÀÌ ÀÖ´Ù¸é ÃßÈÄ ´õÇسª°¡°Ú´Ù.