Skip to content

vi(Visual) Editor 사용법

조회 수 16164 추천 수 0 2009.05.11 12:21:30

vi는 유닉스에서 널리 쓰이는 표준 텍스트 편집기입니다. vi는 20여년전에 개발 되었기 때문에 문서 편집 방법이 최근에 만들어진 편집기와는 많이 다르지만 익숙해지면 편리한 인터페이스와 다양한 기능으로 지금까지도 널리 사용되고 있습니다.

vi의 특징은 화면 편집기라는 것이데, 이는 vi가 개발되던 초기 유닉스 때의 상황에서 보면 획기적인 것이었습니다. 당시에 널리 사용되던 텍스트 편집기는 ed라는 행 단위 편집기인데 이는 문서의 행 하나를 보여주며 행 단위로 편집하기에는 너무나 불편한 편집기였습니다. 이후 vi는 발전을 거듭하여 여러 가지 변종이 나오게 되었는데 현재 리눅스에서 많이 사용하는 vi는 vim으로, Vi IMproved의 약자입니다. vi에 많은 기능을 추가하고 X 윈도우용 vi 인터테이스나 문서의 종류에 따라 키워드에 색상을 부여해 주는 Systax hilighting 등의 가능으로 많은 사랑을 받고 있습니다.

vi의 시작
vi는 터미널용 프로그램이다. vi를 시작하려면 곤솔이나 한텀에서 vi라고 입력하거나 vi뒤에 텍스트 파일 이름을 쓰면 됩니다.
예)
$ vi
$ vi test.txt

vi의 세가지 편집 모드

1. 명령 모드
처음 상태에는 명령 모드로 앞으로의 편집 동작을 지정할 수 있습니다.
예를 들어 현재 커서 위치부터 문장을 입력하고자 한다면 i 명령을 줍니다. esc를 누르면 언제든지 명령 보드로 들어갑니다.

 

? 삽입 명령

명령어
설명
명령어
설명
a
 커서 뒤에 입력
A
 라인 끝에 입력
i
 커서 앞에 입력
I
 라인시작 부분에 입력
o
 커서 있는 라인 밑에 입력
O
 커서가 있는 라인 위에 입력

 

? 커서 이동

명령어
설명
명령어
설명
h
 좌로 한 칸 이동
H
 화면 처음으로 이동
j
 하로 한 칸 이동
L
 화면 끝으로 이동
k
 상으로 한 칸 이동
E
 커서를 공백으로 구분된 다음 단어 끈으로 이동
l
 우로 한 칸 이동
B
 커서를 공백으로 구분된 이전 단어로 이동
e
 다음 단어의 마지막으로 이동
W
 커서를 공백으로 구분된 다음 단어로 이동
b
 한 단어 뒤로 이동
j
 커서를 한 라인 아래로 이동
o
 커서 라인의 시작으로 이동
$
 커서를 라인의 끝으로 이동
w
 커서를 한 단어 뒤로 이동
-
 커서를 전 라인의 시작으로 이동
G
 커서를 텍스트의 마지막으로 이동
숫자G
 커서를 숫자 라인만큼 이동
M
 커서를 화면 중간 라인으로 이동
"
 커서를 전 위치로 이동

 

? 삭제 명령

명령어
설명
명령어
설명
x
 커서가 있는 문서 삭제
X
 커서가 있는 문자 앞에 있는 문자 삭제
dw
 커서가 있는 단어 삭제
db
 커서 앞에 있는 단어 삭제
dW
 공백으로 구분된 뒷 단어 삭제
dB
 공백으로 구분된 앞 단어 삭제
dd
 커서가 있는 라인 삭제
D
 커서가 있는 라인의 나머지 삭제
d)
 문장의 나머지 삭제
d}
 문단의 나머지 삭제
dG
 파일의 나머지 삭제
dH
 화면의 시작까지 삭제
dL
 화면의 나머지 삭제
J
 커서와 다음 단어의 공백을 모두 삭제

 

?바꾸기 명령

명령어
설명
명령어
설명
r
 커서에 있는 문자 대치
R
 입력 모드로 한 문자씩 덮어씀
s
 커서가 있는 무자 삭제 후 입력 모드 전환
S
 커서가 있는 줄을 삭제후 입력 모드
cb
 커서가 있는 앞 단어 삭제후 입력 모드
cW
 공백으로 구분된 뒷 단어를 삭제 후에 입력 모드
cB
공백으로 구분된 앞 단어 삭제 후 입력 모드
cc
 커서가 있는 라인을 삭제하고 입력 모드
C
 커서가 있는 라인의 나머지를 삭제하고 입력모드 전환
cO
 커서에서부터 라인이 시작까지 텍스트 바꾸기
c
 특정 텍스트 바꾸기
c)
 문장의 나머지 바꾸기
c}
 문단의 나머지 바꾸기
cG
 파일의 나머지 바꾸기
cm
 문단의 모든 것 바꾸기
cL
 화면의 나머지 바꾸기
cH
 화면의 시작까지 바꾸기

 

?이동

명령어
설명
명령어
설명
p
 삭제나 복사된 텍스트를 커서가 있는 문자나 라인뒤에 삽입
P
 삭제나 복사된 텍스트를 커서가 있는 문자나 라인 앞에 삽입
dw p
 커서가 있는 단어를 삭제한 후 이름을 변경한 커서 있는 것 뒤에 삽입
dw P
 커서가 잇는 단어를 삭제한 후 이를 변 경한 커서 있는 곳 앞으로 삽입
d p
 지정한 다음 텍스트로 삭제한 후 커서 가 가리키는 곳으로 이동
d) P
 문장의 나머지로 이동
d} P
 문단의 나머지로 이동
dG P
 파일의 나머지로 이동
dH P
 화면 시작 부분으로 이동
dL P
 화면의 나머지를 이동

 

?복사

명령어
설명
명령어
설명
yw
 커서가 있는 단어를 복사
yb
 커서가 있는 앞 단어를 복사
yW
 공백으로 구분된 뒷 단어 복사
yB
 공백으로 구분된 앞 단어를 복사
y
 특정한 다음 텍스트 복사
yy
 커서가 있는 라인을 복사, 커서가 가리 키는 곳으로 라인 이동
y)
 문자의 나머지 복사
yj
 문단의 나머지 복사
yG
 파일의 나머지 복사
yH
 화면 시작까지 복사
yL
 화면의 나머지 복사
숫자yy
 n라인 만큼 복사

 

?검색

명령어
설명
명령어
설명
/pattern
 텍스트에서 앞으로 패턴 검색
>patter n
 텍스트에서 뒤로 패턴 검색
n
 앞 또는 뒤로 검색 반복
N
 반대 방향으로 이전 검색 반복
/
 전 검색을 앞으로 반복
?
 전 검색을 뒤고 반복

2. 입력 모드
실제로 문서에 글을 써넣는 모드입니다. 입력한 내용이 입력됩니다.

3. 최하위행 모드
문서의 저장, 종료 등의 명령이나 명령 모드보다 복잡한 명령을 주고자 할 때 사용합니다. 명령 모드에서 : (콜론)키를 누르면 들어옵니다.

? 종료하기
명령어
설명
명령어
설명
:q
 그대로 종료하기
:x
 :wq와 동일 한 연명
:q!
 변경된 내용을 저장하지 않고 종표하기
:ZZ
 :wq와 동인 한 명령
:wq
 변경된 내용을 저장 하고 정료하기

자주 사용되는 명령어
①삽입명령
a : 커서 뒤에 입력
i : 커서 앞에 입력

②커서이동
? h : 좌로
? j : 아래로
? k : 위로
? l : 우로
?? : 다음 화면으로 이동
?? : 전 화면으로 이동

③삭제명령
x : 커서가 있는 문자 삭제
dd : 커서가 있는 라인 삭제
D : 커서가 있는 라인 나머지 삭제

④바꾸기 명령

⑤이동
p : 버퍼에 있는 내용 라인 뒤에 삽입

⑥복사
yy : 한 라인 복사(버퍼에 저장)
nyy : n라인만큼 복사(버퍼에 저장)

⑦검색

⑧종료
: wq : 변경된 내용 저장 하고 종료
: q : 그대로 종료
: q! : 저장 안하고 강제 종료
: x ( = wq )

그 외 set 옵션과 같이 주어진 옵션을 약어를 사용해 편리하게 사용 가능하고, 이 옵션을 기록하고 초기와 시키는 명령이 .exrc가 있습니다.

profile

일요일은 짜빠게뤼~ 먹는날~^^

엮인글 :
http://adminplay.com/1659/c79/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수
67 리눅스 시스템 관리자를 위한 즐겨찾기 ADMINPLAY 2009-05-22 25018
66 리눅스 언어 인코딩 설정 ADMINPLAY 2009-05-22 21952
65 Disk Quota : 용량 제한 하기 ADMINPLAY 2009-05-22 16720
64 알아두면 편리한 단축키(콘솔) ADMINPLAY 2009-05-22 16566
63 리눅스 디렉토리 구조와 파티션 관리의 기본 ADMINPLAY 2009-05-22 60699
62 vi편집기 행번호 표시, 들여쓰기 ADMINPLAY 2009-05-22 18255
61 리눅스 시스템 log 파일 정리 ADMINPLAY 2009-05-22 20389
60 vim 편집기 색상변경 ADMINPLAY 2009-05-17 22229
59 rsync 옵션 ADMINPLAY 2009-05-17 21025
58 [rsync]서버 백업및 동기화 ADMINPLAY 2009-05-17 17571
57 rsync 미러링 백업 ADMINPLAY 2009-05-17 14875
56 SSH 서버 설정 파일(sshd_config) ADMINPLAY 2009-05-17 18031
55 rsync 에러 ADMINPLAY 2009-05-17 22377
54 rsync : protocol version mismatch -- is your shell clean? ADMINPLAY 2009-05-17 26232
53 리눅스 기본 명령어 # 2 ADMINPLAY 2009-05-11 15663
52 리눅스 기본 명령어 # 1 ADMINPLAY 2009-05-11 16854
» vi(Visual) Editor 사용법 ADMINPLAY 2009-05-11 16164
50 리눅스 네트워크 설정 ADMINPLAY 2009-05-11 21874
49 데몬(Daemon)이란? ADMINPLAY 2009-05-11 16371
48 슈퍼데몬 : xinetd ADMINPLAY 2009-05-11 17606

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234