태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

리눅스 vi 에디터 기초사용법

분류: Digitial News/PC Tech and Tip 작성일: 2007.01.31 11:30 Editor: 마루[maru]
리눅스의 기초적인 명령을 다루면서 빠져서는 안 될 부분이 vi에디터라고 합니다.
윈도우의 메모장처럼 리눅스에서 널리 사용되는 에디터는 vi에디터 입니다.

vi에디터에는 3가지 모드가 있습니다.


명령 모드/ 커서 이동 모드/ 텍스트 입력 모드가 바로 그것입니다. 상호 모드 사이의 전환은 콜론[:]과 ESC, 텍스트 입력키를 이용합니다.

커서 입력 모드 : 문장의 위아래나 좌우로 커서를 이동하게 하는 모드
텍스트 입력 모드 : 실제 텍스트를 입력시키는 모드
명령 모드 : 입력된 텍스트에 대해 여러 가지 명령을 내릴 수 있는 모드

이 vi에디터에 존재하는 세 가지 모드가 vi에디터를 다른 에디터와 구분짓는 특성이기도 합니다.

명령 프롬프트에 vi 라고 쳐봅시다.

뭔가 화면이 나옵니다. 그러나 커서 이동키는 물론 키보드 키도 인식하지 못하네요.
그럼 :q 라고 입력해 봅니다.

다시 원래대로 돌아왔네요. 이번엔 다른 방법으로 해보겠습니다.

명령 프롬프트에 vi test 라고 쳐 봅니다. (test는 새로 만들게 될 파일의 이름입니다.)

까만 화면이 나옵니다.
아까 vi 명령만으로 vi에디터를 실행시켰을 때는 vi에디터에 대한 정보를 확인할 수 있었는데,
만들게 될 파일을 입력하여 에디터를 실행해 보니 까만 화면만 출력 됩니다.

커서의 위치는 지금 맨 위 왼쪽 구석에 있습니다,.

A 키나 insert 키를 누르면 텍스트를 입력할 수 있는 모드로 전환합니다.

이제 아무거나 써 보도록 하겠습니다.

잠깐! 여기서, 리눅스에서 한영전환shift + spacebar 를 사용한다는 것을 명심하십시요.
자기 이름이나 기타 등등, 생각나는 글들을 써줍니다. test 하는것이므로 상관 없습니다.

내용을 저장하기 위해서는 저장 명령을 내릴 수 있는 명령 모드로 변경해야 합니다.
바로 전환할 수 없으므로, 일단 텍스트 입력 모드에서 ESC키를 눌러 커서 이동 모드로 전환합니다.

: 를 입력하여 다시 명령 모드로 전환합니다.

화면의 맨 밑에  :  모양이 생겼습니다. 저장하고 종료해야 겠습니다. 이번엔 wq를 입력해 봅니다.


다시 프롬프트 상태로 돌아 왔습니다.
그럼, 저장이 제대로 되었나 살펴 보도록 하겠습니다.

cat test 라고 입력합니다.

아까 입력했던 글들이 그대로 화면에 출력이 되는것을 보실 수 있을 겁니다.
만일 틀린 내용이 있어서 수정하고 싶을 때는 처음처럼 vi test라고 입력하면 수정할 수 있습니다.

이쯤에서, vi에디터에서 사용되는 명령키를 좀 살펴 보도록 하겠습니다.
vi에디터에서 사용하는 기본적인 편집키는 윈도우에서와 거의 비슷합니다.
그밖에 vi에디터에서 쓸 수 있는 여러가지 기능키도 소개해 드릴테니 끝까지 관심을 가지시길 바랍니다.


우선 입력키의 종류입니다.
명령 모드에서 텍스트 모드로 전환하려면 Insert키를 입력하면 됩니다.
참, 그리고 대소문자가 구별되어 그 기능이 다르다는것도 잊지 마세요^-^

<입력키의 종류>

a : 커서 위치의 다음 칸부터 입력하기
A : 커서가 있는 줄의 끝부터 입력하기
i : 커서 위치부터 입력하기 (Insert도 같은 역할)
I : 커서가 있는 줄의 맨 앞에서부터 입력하기
o : 커서 바로 아래에 줄을 만들고 입력하기
O : 커서 바로 위에 줄을 만들고 입력하기
s : 커서가 있는 단어를 지우고 입력하기
S : 커서가 있는 행을 지우고 입력하기

<이동키의 종류>

ESC 키를 사용하면 커서 이동 모드로 돌아옵니다.
커서의 이동은 윈도우와 마찬가지로 방향키와 Home, End, PgUp, PgDn 을 사용하면 됩니다.  

<삭제키의 종류>

기본적인 삭제키는 backspace나 Delete키를 이용하면 됩니다.
추가적으로 사용되는 명령도 있으나 생략합니다.
(대부분 backspace나 Delete로 해결 가능하다고 생각되어서;)

<복사와 붙여넣기 키의 종류>

yw : 커서 위치부터 단어의 끝까지 복사하기
y0 : 커서 위치부터 줄의 처음까지 복사하기
y$ : 커서 위치부터 줄의 끝까지 복사하기
yy : 커서가 있는 줄을 복사하기
yj : 커서가 있는 줄과 그 다음 줄을 복사하기
yk : 커서가 있는 줄과 그 앞줄을 복사하기
p : 커서의 다음 위치에 붙여넣기
P : 커서가 있는 위치에 붙여넣기

<취소키의 종류>

u : 작업 취소하기
U : 그 줄에 행해진 작업 모두 취소하기
. : 조금 전에 했던 명령을 반복하기

<저장 및 종료키의 종류>
마지막으로 명령 모드에서 저장 및 종료 명령에 대해 알아보겠습니다.

:q  : 아무런 변경을 하지 ㅇ낳았을 때 종료하기
:q! : 변경된 내용을 저장하지 않고 강제 종료하기
:wq : 저장하고 종료하기
:x  : :wq와 같은 기능

행번호 보기 명령키.

vi에디터를 편리하게 사용할 수 있는 옵션 하나를 알려드리겠습니다.
vi에디터는 행번호가 없죠? 그래서 어떤 파일을 컴파일하다가 에러가 나면 첫 줄부터 하나씩 세는 경우가 있습니다, 이럴 때는 행번호를 붙이는 옵션을 사용해서 쉽게 확인할 수 있습니다.

행번호를 삽입하려면
set number 라고 입력하면 됩니다.
줄여서 se nu 라고 해도 됩니다.
행번호를 해제하려면 set nonumber라고 입력하면 됩니다.
줄여서 se nonu 라고 해도 됩니다.


[자료출처 - 해커스쿨]
신고
※글에 대한 여러분 의견을 남겨 주십시오. 감사합니다!
  1. BlogIcon akudoku 2007.01.31 12:02 신고  댓글주소  수정/삭제  댓글 남기기

    요즘 각종 배포판에 있는 vi는 정확히 vim이라고 지칭을 해줘야할 것 같습니다.
    설치 시에 실수가 없도록...

  2. Favicon of http://lunaris.egloos.com BlogIcon 가짜집시 2007.01.31 12:13 신고  댓글주소  수정/삭제  댓글 남기기

    1. command mode 를 대개 '명령 모드'로 번역합니다. 용어 선택이 좀 부적절한 번역이 아닌가 싶군요.
    2. command mode 에서의 커서 이동은 방향키보다는 hjkl 을 쓰는데 익숙해지는 것이 좋습니다.

  3. Favicon of http://daily.innori.com BlogIcon Silvester 2007.01.31 12:45 신고  댓글주소  수정/삭제  댓글 남기기

    vim도 좋지만 emacs도 좋죠 ~_~

  4. Favicon of http://www.crazybug.net/ BlogIcon 하얀기적 2007.01.31 12:45 신고  댓글주소  수정/삭제  댓글 남기기

    추억의 vi/vim 이군요 :) 학교다닐때와 개발자였었을때 많이 사용했었습니다. ㅋ
    지금 명령어를 다시 보고 있으니 감회가 새롭네요 ㅋ

  5. Favicon of http://blog.edple.com/ BlogIcon 에드 2007.01.31 12:50 신고  댓글주소  수정/삭제  댓글 남기기

    http://wiki.kldp.org/KoreanDoc/html/Vim_Guide-KLDP/Vim_Guide-KLDP.html
    이 문서가 vi 한글기본문서중에 제일 괜찮은 것 같습니다.

  6. Favicon of http://schwarz.co.kr/tt BlogIcon 드래곤군 2007.01.31 13:14 신고  댓글주소  수정/삭제  댓글 남기기

    vim 풀 패키지로 설치하시면 vimtutor 라는 명령으로 간단한 vim의 사용법을 익힐 수 있습니다.
    읽으면서 따라하는 식으로 되어 있어서 간단한 조작을 익히기에는 좋더군요 :)

    또한 취소키에는 Undo에 해당하는 u 말고 Redo에 해당하는 Ctrl+R 이 있지요. 작업 취소한 것 취소하기(?) 쯤에 해당하려나요.

  7. Favicon of http://happyoulet.net BlogIcon 붕탱구 2007.01.31 21:30 신고  댓글주소  수정/삭제  댓글 남기기

    제 vim 초간단매뉴얼은 조금 어려운 편이네요..설명도 지대로 안되어있고
    그래도 혹시나 하는 마음에 트랙백 쏴드렸습니다 ^^;

  8. 2010.04.08 17:48 신고  댓글주소  수정/삭제  댓글 남기기

    좋은정보 감사합니다.
    담아갈께요


우드스