메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

vi 입문 -- 컨닝 페이퍼 이용하기

Daniel Robbins, 회장/CEO, Gentoo Technologies, Inc.
Daniel Robbins는 뉴 멕시코 주, 앨버커키 시에 살고 있다. Gentoo Technologies, Inc. 사장이자 CEO를 맡았으며, Gentoo Project 수석 아키텍트이기도 했다. MacMillan 출판사를 통해 Caldera OpenLinux Unleashed, SuSE Linux Unleashed, Samba Unleashed 등 많은 책에 기여한 저자이기도 하다. 그는 초등학교 2학년 시절 Logo 프로그래밍 언어와 팩 맨에 푹 빠지면서 컴퓨터와 인연을 맺었다. 아마 그래서 나중에 SONY Electronic Publishing/Psygnosis에서 선임 그래픽 아티스트로 일했던 게 아닐까 싶다. Daniel은 부인 Mary와 딸 Hadassah와 시간을 보내기 좋아한다. 그의 전자편지 주소는 drobbins@gentoo.org다.

요약:  이 튜토리얼에서는 강력한 시각적 편집기인 vi 사용법을 소개합니다. 여기서는 “컨닝 페이퍼(cheat sheet)”를 활용하여 짧은 시간에 vi를 능숙하게 익히는 지름길을 설명합니다. 이 튜토리얼을 통해 독자들은 커서를 이동하는 방법, 텍스트를 편집하는 방법, 삽입 모드로 전환하는 방법, 텍스트를 복사하여 붙여넣는 방법, 비주얼 모드나 멀티 윈도우 편집 등 주요 vim 확장 기능을 익히게 됩니다.

원문 게재일:  2008 년 6 월 17 일
난이도:  초급

페이지뷰: 13806 회
의견: 

생산성 기능

지금까지...

지금까지 커서를 이동하는 방법, 파일을 저장하고 vi를 종료하는 방법, 텍스트를 간단히 편집하고 삭제하는 방법, 삽입 모드로 전환하는 방법을 살펴보았다. 지금까지 살펴본 명령과 컨닝 페이퍼를 동원하면 vi로 하지 못할 작업이 거의 없으리라.

그러나 vi에는 이 외에도 강력한 명령이 매우 많다. 이 단원에서는 텍스트를 잘라내고, 복사하고, 붙여넣고, 검색하고, 교체하는 방법과 자동 들여쓰기 기능을 사용하는 방법을 소개한다. 이러한 명령을 활용하면 vi 사용이 훨씬 재미있어지고 생산성도 높아진다.

시각적 모드

텍스트를 잘라내 붙이려면 시각적 모드가 가장 편하다. 시각적 모드는 (vim이나 elvis 같은) 최근 vi 버전이 제공하는 특수 모드다. 시각적 모드는 "텍스트 선택(highlight text)" 모드로 생각해도 좋다. 일단 텍스트를 선택한 후에는 삭제하거나 복사하여 붙여넣을 수 있다.

시각적 모드로 전환하려면 v 키를 입력한다. 그러면 그림 3과 같이 편집기 왼쪽 하단에 VISUAL이라는 낱말이 표시된다. 시각적 모드에서 이동 명령이나 화살표 키로 커서를 이동하면 해당 텍스트가 선택된다. 만약 윈도우 관리자가 응용 프로그램에 대한 마우스 사용을 허가한다면 마우스 왼쪽 버튼을 클릭한 채 끌어서 텍스트를 선택해도 좋다.


그림 3. vi 시각적 모드 사용
vi 시각적 모드 사용

일단 텍스트를 선택하고 나면 잘라내거나 복사할 수 있다. 텍스트를 복사하려면 y 키를 누른다. (여기서 y는 “yank”를 의미한다.) 텍스트를 잘라내려면 d 키를 누른다. 그러면 명령 모드로 돌아온다. 이제 복사한 텍스트나 잘라낸 텍스트를 삽입할 위치로 커서를 이동한 후 p 키나 P 키를 누른다. p 키를 누르면 텍스트가 커서 앞에 삽입된다. P 키를 누르면 텍스트가 커서 뒤에 삽입된다. 짜잔!! 이렇게 복사/잘라내기와 붙여넣기가 끝났다. 다음으로 넘어가기 전에 잘라내기/붙여넣기를 여러 차례 연습해본다.


텍스트 교체

텍스트 패턴을 교체하려면 ex 모드를 사용한다. 현재 행에서 첫 번째로 나타나는 패턴을 교체하려면 :s/regexp/replacement/를 입력하고 엔터 키를 누른다. 여기서 regexp는 찾으려는 패턴이고 replacement는 교체할 문자열이다. 현재 행에서 일치하는 패턴을 모두 교체하려면 :s/regexp/replacement/g를 입력하고 엔터 키를 누른다. 파일 내에서 일치하는 패턴을 모두 교체하려면 :%s/regexp/replacement/g를 입력하고 엔터 키를 누른다(대개 행보다는 파일에서 텍스트를 교체하려는 경우가 많다). 파일 내에서 일치하는 패턴을 모두 교체하면서도 교체하려는 패턴마다 확인을 받으려면 :%s/regexp/replacement/gc를 입력한 후 엔터 키를 누른다(여기서 c는 "confirm"을 뜻한다).


들여쓰기

vi는 자동 들여쓰기를 지원한다. 프로그램 원시 코드를 편집할 때 편리한 기능이다. (vim과 같은) 최근 vi 버전 대부분은 (.c 파일과 같은) 소스 파일을 편집할 때 자동 들여쓰기 모드를 자동으로 활성화한다. 자동 들여쓰기 모드가 활성화된 상태에서 ^d(컨트롤-d)를 입력하면 현재 들여쓰기가 한 단계 왼쪽으로 밀린다. ^t(컨트롤-t)를 입력하면 현재 들여쓰기가 한 단계 오른쪽으로 밀린다. 자동 들여쓰기 모드를 수동으로 활성화하려면 :se autoindent라는 ex 명령을 사용한다. 또한 들여쓰기 탭 크기를 변경하려면 :set tabstop 명령을 사용한다. :set tabstop=4가 가장 많이 쓰이는 설정이다.


최종 컨닝 페이퍼

이제 vi 튜토리얼 마지막에 도달했다. 방금 살펴본 고급 편집 명령을 컨닝 페이퍼에 마저 추가하면 다음과 같다.


마무리

이제부터는 파일을 편집할 때나 전자편지를 작성할 때 vi를 활용하기 바란다. 물론, 컨닝 페이퍼는 컨닝하기 쉬운 곳에 보관한다. 필요할 때마다 컨닝 페이퍼를 살펴본다. 한 주 정도면 명령을 모두 암기하여 vi 생산성이 크게 높아지리라 믿는다.

기사의 원문보기

57 | 이전 | 다음

의견



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=리눅스, 오픈 소스
ArticleID=313590
TutorialTitle=vi 입문 -- 컨닝 페이퍼 이용하기
publish-date=06172008
author1-email=drobbins@gentoo.org
author1-email-cc=

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.