상세 컨텐츠

본문 제목

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

Digital News/Smartwork and OA

by 김현욱 a.k.a. 마루 2007. 1. 31. 11:30

본문

리눅스의 기초적인 명령을 다루면서 빠져서는 안 될 부분이 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 라고 해도 됩니다.


[자료출처 - 해커스쿨]

관련글 더보기

댓글 영역