\documentstyle[a4wide,11pt,lslide] {harticle}

\begin{document}
 
\title{editor vi}
\author{¹Ú µµ Çö}
\organization{SPARCS}
\titlepage

\section {  vi ¶õ ¹«¾ùÀÎ°¡. }

\subsection{"visual display editor"}

\subsection{vi °¡Á·} 
\begin{itemize}	 
\item view : vi ¸¦ read-only mode ·Î ½ÇÇà½ÃÅ²´Ù. µû¶ó¼­, ÇÔºÎ·Î ¹Ù²Ù¾î¼­´Â °ï¶õÇÑ ÆÄÀÏµéÀ» º¼ ¶§ ÀÌ¿ëÇÑ´Ù. °°Àº ¸í·ÉÀÎ vi ¸¦   »ç¿ëÇÏ´Â °ÍÀÌ±â ¶§¹®¿¡ ÆÄÀÏÀÇ ³»¿ëÀ» º¯°æÇÏ´Â¸í·ÉÀ» Á¦¿ÜÇÏ¸é º¸ÅëÀÇ vi ¸¦  ¾²´Â °Í°ú ¶È°°ÀÌ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. 
\item vedit : ÃÊº¸ÀÚ°¡ ¾²±â ÆíÇÏµµ·Ï ¸î °¡Áö ¿É¼ÇµéÀ» ¹Ì¸® Á¤ÇØ ³õÀºvi ÀÇ ÇÏ³ª. 
\end{itemize}

\subsection{why vi ?} 
\begin{itemize}
\item ¾î¶² ÅÍ¹Ì³Î¿¡¼­µµ Àß ½ÇÇàµÈ´Ù.  
\item ¹ÏÀ» ¼ö ÀÖ´Ù.  
\item  unix ¿Í Àß ¿¬°èµÇ¾î ÀÖ´Ù. 
\item  ´Ã "°Å±â"¿¡ ÀÖ´Ù°í »ý°¢ÇØµµ ÁÁ´Ù.  
\item  ÆíÁýÀ» À§ÇÑ key-strokeÀ» À§ÇØ ¼ÕÀ» ¸Ö¸® ¶¼Áö ¾Ê¾Æµµ µÈ´Ù. 
\item  Æ¯È÷, C, lisp  programming ¿¡¼­ ¶Ù¾î³­ ´É·ÂÀ» ¹ßÈÖÇÑ´Ù. [ '\%'    '$>$'   '$<$' .....] 
\end{itemize} 


\subsection{vi ÀÇ ¼¼°¡Áö ¸ðµå } 
\begin{itemize} 
\item  ¸í·É ¸ðµå(command mode) 
\item ¸¶Áö¸· Çà ¸ðµå(last-line mode / colon mode) 
\item ÀÔ·Â ¸ðµå(input mode) 
\end{itemize}

\section{vi ½ÃÀÛÇÏ±â } 

{\Large \tt  vi	[ filename ] }
{\Large \tt baram\% vi test.c} 
\begin{itemize}
\item vi¸¦ ½ÃÀÛÇÏ¸é, ¸í·É ¸ðµå(command mode) ·Î ½ÃÀÛµÈ´Ù. 
\item ÀÌ »óÅÂ¿¡¼­, 'a','i' µîÀ» ÅëÇÏ¿© text¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖ´Â
		ÀÔ·Â ¸ðµå(input mode)·Î µé¾î °¥ ¼ö ÀÖ´Ù. 
\item text¸¦ 	ÀÔ·ÂÇÏ´Ù°¡  Áö±ÝºÎÅÍ ¼³¸íÇÒ ¿©·¯ °¡Áö ¸í·ÉµéÀ»
		¾µ ÇÊ¿ä°¡ ÀÖÀ» ¶§¿¡´Â ´Ù½Ã $<$ESC$>$ Å°¸¦ ´­·¯¼­ ¸í·É ¸ðµå·Î
	    µé¾î¿Í¾ß¸¸ ÇÑ´Ù.	 
\end{itemize}


\section{ÆÄÀÏ ¾È¿¡¼­ µ¹¾Æ´Ù´Ï±â} 

\subsection{Ä¿¼­ ¿Å±â±â}

\subsubsection{} ¹°·Ð, $<$return$>$, $<$space$>$, $<$back space$>$, È­»ìÇ¥ Å°µîÀº Æò¼Ò ¾²´ø ´ë·Î ¾µ ¼ö ÀÖ´Ù.  (ÀÔ·Â ¸ðµå¿¡¼­¸¸.) 


 
\subsubsection{È­»ìÇ¥ Å° ´ë¿ë Å°} 
\begin{tabbing}

\=xxxxxxxxxxxxxxxx\=xxxxxxxxxxxxxxxxxxx\=xxxxxxxxxxxxxxx \kill
\> \>  ¿ÞÂÊ :  {\tt h}		\> ¿À¸¥ÂÊ :  {\tt l} \\
\> \> ¾Æ·¡ÂÊ : {\tt j}	 \> À§ÂÊ :   {\tt k} 

\end{tabbing}


\subsubsection{´Ü¾î ´ÜÀ§·Î ¿òÁ÷ÀÌ±â}
\begin{itemize}
\item {\tt w}  :  (word)   ¿À¸¥ÂÊÀ¸·Î ´Ü¾î ÇÏ³ª¸¸Å­
\item {\tt b} :   (back)    ¿ÞÂÊÀ¸·Î ´Ü¾î ÇÏ³ª¸¸Å­ 
\item {\tt W} : ±¸µÎÁ¡ÀÌ³ª °ýÈ£ µûÀ§¸¦ Æ÷ÇÔÇÑ ´Ü¾î ÇÏ³ª¸¸Å­ ¿À¸¥ÂÊÀ¸·Î ÀÌµ¿ 
\item {\tt B} : ±¸µÎÁ¡ÀÌ³ª °ýÈ£ µûÀ§¸¦ Æ÷ÇÔÇÑ ´Ü¾î ÇÏ³ª¸¸Å­ ¿ÞÂÊÀ¸·Î ÀÌµ¿ 
\end{itemize}


\subsubsection{È­¸é ½ºÅ©·ÑÇÏ±â}

\begin{itemize} 
\item {\tt $<$Ctrl$>$-F}  : ÇÑ ½ºÅ©¸°À» ³Ñ±ä´Ù. (forward/down) 
							{\tt $<$Ctrl$>$-f} ¿ª½Ã µ¿ÀÛ. 
 
\item {\tt $<$Ctrl$>$-D}  : ¹Ý ½ºÅ©¸°À» ³Ñ±ä´Ù.
							{\tt $<$Ctrl$>$-d} ¿ª½Ã µ¿ÀÛ. 
			 
\item {\tt $<$Ctrl$>$-B}  : ÇÑ ½ºÅ©¸°À» ³Ñ±ä´Ù.
 							{\tt $<$Ctrl$>$-b} ¿ª½Ã µ¿ÀÛ. 
 
\item {\tt $<$Ctrl$>$-U}  : ¹Ý ½ºÅ©¸°À» ³Ñ±ä´Ù.
							{\tt $<$Ctrl$>$-u} ¿ª½Ã µ¿ÀÛ. 
\item {\tt H} : (High) ÇöÀç ½ºÅ©¸°ÀÇ ¸Ç À­ ÁÙ·Î.
\item {\tt M} :(middle ) ÇöÀç ½ºÅ©¸°ÀÇ middle·Î. 
\item {\tt L} : (low)        ÇöÀç ½ºÅ©¸°ÀÇ bottomÀ¸·Î. 
\end{itemize}



\subsection{³¢¿ö³Ö±â } 

\begin{itemize} 
\item ºÙ¿©¾²±â (appending)  

\begin{itemize}
\item {\tt 'a'}  ÇöÀç Ä¿¼­ ´ÙÀ½¿¡ ºÙ¿©¼­ ½á ³ª°£´Ù. 
\item {\tt 'A'}   ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÏ°í ÀÖ´Â ÁÙ ¸¶Áö¸·¿¡ 	       			    				    µ¡ºÙÀÓ. 
\end{itemize}

\item  ³¢¿ö³Ö±â (inserting) 

\begin{itemize}
\item {\tt 'i'} Ä¿¼­ ¿ÞÆí¿¡ »õ·Î¿î text¸¦ »ðÀÔÇÑ´Ù. 
\item {\tt 'I'} ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÏ°í ÀÖ´Â ÁÙ Ã³À½¿¡ ½á³Ö´Â´Ù. 
\end{itemize} 

\item »õ·Î¿î ÁÙ ¸¸µé±â (opening a new line) 

\begin{itemize}
\item {\tt 'o'} ÇöÀç Ä¿¼­ À§Ä¡¹Ø¿¡ »õ·Î¿î ÁÙÀ» ¸¸µç´Ù. 
\item {\tt 'O'}  ÇöÀç Ä¿¼­ À§Ä¡ À§¿¡ »õ·Î¿î ÁÙÀ» ¸¸µç´Ù. 
\end{itemize}

\end{itemize} 



\newpage
\subsection{¹Ù²ã¾²±â}

\begin{itemize} 
\item {\tt 'cw'} ÇÑ ´Ü¾î ¹Ù²Ù±â \\
  ¹Ù²Ù°íÀÚ ÇÏ´Â ´Ü¾îÀÇ Ã¹¸Ó¸®¿¡¼­ {\tt cw} ¸¦ Ä¡°í, »õ·Î¿î ´Ü¾î¸¦ ÀÔ·ÂÇÑ ´ÙÀ½, $<$ESC$>$ Å°¸¦ ´©¸£¸é ¿Ï·áµÈ´Ù. ¸¸¾à, ´Ü¾îÀÇ ÀÏºÎºÐ¸¸À» ¹Ù²Ù°íÀÚ ÇÑ´Ù¸é, ´Ü¾î Áß°£¿¡ Ä¿¼­¸¦ À§Ä¡½ÃÅ°°í À§ÀÇ ¹æ¹ýÀ» ¾²¸é µÈ´Ù. 

\item{\tt 'cc'}  ÇÑ ¶óÀÎ ¹Ù²ãÄ¡±â \\ 
				   ¹æ¹ýÀº À§ {\tt cw} ÀÇ  °æ¿ì¿Í °°´Ù. ¿ª½Ã, ¶óÀÎÀÇ ÀÏºÎºÐÀ» ¹Ù²Ü ¼ö µµ ÀÖ´Âµ¥, ÀÌ¶§´Â {\tt cc} ´ë½Å¿¡ {\tt C} ¸¦ ¾²¸é µÈ´Ù. 

\item{\tt 'u'}  ¸¶Áö¸·À¸·Î ½ÇÇàÇß´ø ¸í·ÉÀ» ½ÇÇàÇÏ±â ÀüÀÇ »óÅÂ·Î µÇµ¹¸°´Ù.  
\item{\tt 'U'}  ÇöÀçÀÇ ÁÙ¿¡ ÇàÇØÁ³´ø ¸ðµç º¯È­µéÀ» ¾ø¾ú´ø °ÍÀ¸·Î ÇÑ´Ù. 

\item{\tt 'r + $<$return$>$}  ÇöÀçÀÇ ÁÙÀ» ÇöÀçÀÇ Ä¿¼­À§Ä¡¿¡¼­ µÎ ÁÙ·Î ºÐ¸®ÇÑ´Ù.  
\item{\tt 'J'}  À§ ¸í·É°ú Á¤¹Ý´ëÀÇ ÀÏÀ» ÇÑ´Ù.  Áï, ÇöÀç ÁÙ°ú ´ÙÀ½ ÁÙÀ» ÇÏ³ªÀÇ ÁÙ·Î ÇÕÄ£´Ù. 
\end{itemize}





\subsection{Áö¿ì±â} 
\begin{itemize} 
\item{\tt 'x'}  ÇöÀç Ä¿¼­°¡ À§Ä¡ÇÑ ±ÛÀÚ¸¦ Áö¿î´Ù. 
\item{\tt 'dw'}  ÇÑ ´Ü¾î¸¦ Áö¿î´Ù.  »ç¿ë ¹æ¹ýÀº {\tt cw}¿Í °°´Ù.
\item{\tt 'dd'}  ¶óÀÎ ÇÏ³ª¸¦ Áö¿î´Ù. 
\item{\tt 'D'} ¶óÀÎÀÇ ÀÏºÎºÐ¸¸À» Áö¿ï¶§ »ç¿ëÇÑ´Ù. ¹°·Ð, ¶óÀÎÀÇ Ã³À½¿¡¼­ »ç¿ëÇÏ¸é {\tt dd} ¿Í °°Àº ¿ªÇÒÀ» ÇÑ´Ù. 
\end{itemize} 

\newpage
\subsection{º¹»ç / ¿Å±â±â (copy / move)} 
\begin{itemize} 
\item{º¹»ç : {\tt 'yy'} ¶Ç´Â {\tt 'Y'}  } 
				ÀÌ ¸í·ÉÀ» ¼öÇàÇÏ¸é ÇöÀçÀÇ ¶óÀÎÀÌ ¹öÆÛ¿¡ º¹»çµÈ´Ù.
			    ÀÌÁ¦, ³Ö°í ½ÍÀº À§Ä¡¿¡ Ä¿¼­¸¦ ÀÌµ¿½ÃÅ°°í, $<$p$>$ ¸¦ 
				´©¸£¸é ±× ÀÚ¸®¿¡ ¹æ±Ý º¹»çÇÑ ¹®¾ÈÀÌ µé¾î°£´Ù.		 

\item{¿Å±â±â : À§ÀÇ {\tt 'dd'}} ¸¦ ½ÇÇàÇÏ°í ³ª¼­  À§ º¹»ç¸í·ÉÃ³·³ ¿øÇÏ´Â À§Ä¡¿¡ Ä¿¼­¸¦ °¡Á®´Ù ³õ°í $<$p$>$¸¦ ´©¸£¸é  ¹®¾ÈÀ» ³ÖÀ» ¼ö ÀÖ´Ù.  

\item{command line ¿¡¼­ÀÇ º¹»ç/¿Å±â±â} 

\Large \tt
			:set nu \\
			: line\#, line\# co line\#  [copy] \\
					ex) :3,6 co 10 \\
			: line\#, line\# m line\#	   [move] \\   
					ex) :3,12 m 21  \\
			: line\#, line\# d	   [deletion]  \\ 
				    ex) :19,31 d \\

\normalsize \rm

\item{\#\$\% ¸í·É ¹Ýº¹ÇÏ±â}
 
		Áö±Ý±îÁö ¼³¸íÇÑ ¸¹Àº ÆíÁý ¸í·ÉµéÀº ½±°Ô  ¸î ¹øÀÌ°í
     			¹Ýº¹ÇÏ¿© ½ÇÇàÇÒ ¼ö ÀÖ´Ù.  
 
		¹æ¹ý (1) ... =$>$   '[n]$<$cmd$>$     
						['n'Àº ¹Ýº¹ÇÒ È½¼ö.] 
 
		¹æ¹ý (2) period(.) 
	   		    ÀÌ°ÍÀº ¹Ù·Î ÀüÀÇ textº¯°æ ¸í·ÉÀ» ¹Ýº¹ÇÑ´Ù. 
 
		ex) 'dd' ¸¦ ÀÌ¿ëÇÏ¿© 2ÁÙÀ» ÇÑ ¹ø¿¡ Áö¿ì·Á¸é : 
 
				=$>$  '2dd'   ¶Ç´Â dd -$>$ . -$>$ .  
\end{itemize} 

\newpage
\subsection{Å½»ö / Ä¡È¯} 

\begin{itemize}
\item{Å½»ö}
\begin{itemize}
\item{\tt '/'} ¼ø ¹æÇâ Å½»ö. 
\item{\tt '?'} ¿ª ¹æÇâ Å½»ö. 
\item{\tt 'n'} finds next match 
\item{\tt 'N'} finds previous match 
\end{itemize}

\item{Ä¡È¯} 
 
		:[\%]s/search-string/s//replace-string[/g] 

\item{Æ¯Á¤ À§Ä¡ºÎÅÍ ÀÐ¾îµé¿©¼­ ½ÃÀÛÇÏ±â} 
\begin{itemize}

\Large \tt
\item vi +line\# filename 
				ex) vi +51 test.c 
\item vi +/pattern filename 
				ex) vi +/2+2=5 test.c 
\item vi +/"Multi-word string" st.c 
\normalsize \rm

\end{itemize} 

\end{itemize} 

\subsection{ÀúÀåÇÏ±â} 
\begin{itemize} 
\item{ÀúÀå (saving)} {\tt w}
\item{ÀúÀåÇÏ°í ³ª°¡±â} {\tt wq ZZ}  
\item{ÀúÀå¾ÈÇÏ°í ³ª°¡±â} {\tt q :q }
\item{°¡Àå ÃÖ±Ù ÆÇ À¯ÁöÇÏ±â} {\tt x}
\end{itemize} 

\newpage
\subsection{±× ¿Ü ¸î °¡Áö À¯¿ëÇÑ ¸í·Éµé} 
\begin{itemize}
\item{\tt '[n]\$'} ÁÙ ³¡À¸·Î   
\item{\tt '\^'} ÁÙÀÇ Ã³À½ ´Ü¾î¸Ó¸®·Î 
\item{\tt '[line \#] G'} line\#·Î Ä¿¼­¸¦ ÀÌµ¿ 
\item{\tt '( or ) '}      ÇöÀç/´ÙÀ½ ¹®Àå Ã³À½À¸·Î  
\item{\tt '{ or } '}      ÇöÀç/´ÙÀ½ ¹®´Ü Ã³À½À¸·Î  
\item{\tt '\%' } () ¶Ç´Â {} ÀÇ Â¦À» Ã£´Â´Ù. 
\item{\tt '.'} ¸¶Áö¸· ¹®¾È º¯°æ ¸í·ÉÀ» ¹Ýº¹ 
\item{\tt '\^V'}     control char. ¸¦ ¾µ ¼ö ÀÖ°Ô. 
\item{\tt ':!cmd'}         shell command ¸¦ ½ÇÇà.        
\item{\tt 'I'} ¶óÀÎÀÇ Ã¹ ÄÃ·³À¸·Î ÀÌµ¿ÇÏ¿© »ðÀÔ¸ðµå·Î ÀüÈ¯.
\item{\tt '~'} ´ë¹®ÀÚ/¼Ò¹®ÀÚ º¯È¯ 
\end{itemize} 
 
\subsection{vi¸¦ ¾²¸é¼­ »ý±â´Â ¹®Á¦ ÇØ°áÇÏ±â} 
\begin{itemize}
\item vi ÀÇ ¸í·É ´ëºÎºÐÀº case-sensitive
\item 'talk' µî ±âÅ¸ ÀÌÀ¯·Î È­¸éÀÌ ÁöÀúºÐÇØÁ³À» ¶§ : 	 
			    =$>$  $<$Ctrl$>$L À» ´©¸£¸é Á¤¸®µÈ´Ù. 
					¹°·Ð, ¸í·É ¸ðµå¿¡¼­ ½ÇÇàÇØ¾ß ÇÑ´Ù.		 
\item  vi¸¦ ¾²´Ù°¡ systemÀÌ Á×¾î¹ö·ÈÀ» ¶§.. \\ 
{\Large \tt baram\% vi -r test.c }
 
\end{itemize} 
				 

\end{document}
