vi편집기에는 명령어 모드(command mode)와 편집모드(edit mode)가 있다.
다음에 설명하는 모든 명령어는 vi편집기의 편집명령어이며, 이 명령을 주고(명령어모드상태) 난 다음에 파일을 편집(편집모드)할 수가 있습니다.
명령어 모드에서는 글쇠그 자체의 의미가 아니라 명령의 의미를 지니며, 편집모드에서는 키보드 글쇠 그자체의 의미를 지닙니다.
편집모드에서 명령어모드로 이동할 때는 Esc키를 눌러서 빠져 나옵니다.
|
커서를 이동시킬 때는 아래의 글쇠를 이용하며, 가급적이면 화살표키는 사용하지 않는 것이 좋습니다.
h |
왼쪽으로 이동 |
j |
아래로 이동 |
k |
위로 이동 |
l |
오른쪽으로 이동 |
w |
한단어 오른쪽으로이동 |
b |
한단어 왼쪽으로 이동 |
Return |
한행아래로 이동 |
Backspace |
한문자 왼쪽으로 이동 |
Spacebar |
한문자 오른쪽으로 이동 |
H |
화면의 맨위로 이동 |
M |
화면의 중간으로 이동 |
L |
화면의 맨 아래로 이동 |
^F |
한화면 앞으로 이동 |
^D |
반화면 앞으로 이동 |
^B |
한화면 뒤로 이동 |
^U |
반화면 뒤로 이동 |
|
a |
커서 오른쪽에 문자삽입 |
A |
커서 오른쪽, 행의끝에 문자삽입 |
i |
커서 왼쪽에 문자삽입 |
I |
커서왼쪽, 행의 처음에 문자삽입 |
o |
커서 아래에 행 삽입 |
O |
커서 위에 행 삽입 |
<Esc> |
작업완료후 반드시 입력 |
cw |
단어 변경 |
cc |
행 변경 |
C |
커서 오른쪽의 행 변경 |
s |
커서가 위치한 문자열 대체 |
r |
커서 위치 문자를 다른 문자로 대체 |
r-Return |
행 분리 |
J |
현재 행과 아래 행 결합 |
xp |
커서 위치 문자와 오른쪽 문자교환 |
- |
문자형(대,소문자) 변경 |
u |
이진 명령 취소 |
U |
행 변경 사항 취소 |
:u |
이전의 최종행 취소 |
x |
문자삭제 |
dw |
단어삭제 |
dd |
행 삭제 |
D |
커서 오른쪽 행 삭제 |
:5,10 d |
5-10째 행 삭제 |
:set nu |
행번호 표시 |
:set nonu |
행번호 숨기기 |
G |
파일의 마지막 행으로 가기 |
12G |
파일의 12번째 행으로 가기 |
yy |
행 yank 또는 복사 |
Y |
행 yank 또는 복사 |
P |
yank 되거나 삭제된 행을 현재 행 아래에 삽입 |
p |
yank되거나 삭제된 행을 현재 행 위에 삽입 |
:1,2 co 3 |
1-2행을 3행 다음으로 복사 |
:4,5 m 6 |
4-5행을 6행 다음으로 이동 |
|
/string/ |
string탐색 |
?string? |
string 역 방향 탐색 |
n(N) |
string의 다음(이전) 계속 탐색 |
:g/search-string/s//replace-string/gc |
각 발생 탐색후 확인하고 대체 |
:s/str/rep/ |
현재 행의 str을 rep로 대체 |
:1,.s/str/rep/ |
1부터 현재 행의 str을 rep로 전부 대체 |
:%s/str/rep/g |
파일 전체 str을 rep로 전부 대체 |
^L 불필요한 화면 내용 제거 후 다시 표시
:r filename |
커서 다음에 파일 삽입 |
:20 r filename |
파일을 20번째 행 다음에 삽입 |
:w |
변경사항 저장 |
:w filename |
지정한 파일로 저장 |
:wq |
변경사항 저장후 vi종료 |
ZZ |
변경사항 저장후 vi종료 |
:q! |
변경사항을 저장하지 않고 vi종료 |
UNIX |
MS-DOS |
기 능 |
clear |
CLS |
화면의 내용을 깨끗이 지운다. |
ls |
DIR |
현재 디렉토리의 파일목록을 표시한다. |
cp |
COPY |
파일을 복사한다. |
mv |
REN |
파일의 이름을 변경한다. |
mv |
MOVE |
파일을 다른곳으로 옮긴다. |
rm |
DEL |
파일을 삭제한다. |
cat |
TYPE |
파일내용을 표시한다. |
pwd |
CD |
현재 위치의 경로를 표시한다. |
cd |
CD |
디렉토리의 경로를 이동한다. |
mkdir |
MD |
새로운 디렉토리를 만든다. |
rmdir |
RD |
디렉토리를 삭제한다. |