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가 있습니다.
'IT 자격증 > 리눅스마스터 및 LPIC' 카테고리의 다른 글
우분투 8.10에서 삼바로 윈도우 공유프린터 설치하기 (0) | 2009.03.01 |
---|---|
블로그 최초 LPIC Level 1 Exam 101, 102 덤프 문제 (0) | 2009.02.26 |
리눅스 네트워크 설정 (0) | 2009.02.25 |
우분투 8.10에서 사용할 수 있는 팁 모음 (0) | 2009.02.18 |
리눅스에서 랜카드 하나에 여러 개의 IP 설정하기 (0) | 2009.02.15 |