VI 에디터

vi 명령의시작

vi vi편집기를 호출한다.
vi filename 기존에 있는 파일이면 그 파일을 열고 없는 파일이면 새로 만든다.
vi + 10filename 지정화일의 10번째 행부터 화일열기
vi +/”school” filename 지정화일내의 school이란 단어가 처음나오는 시점부터 열기
vi -r filename 손상된 파일을 복구
view filename 수정없이 읽기전용으로 열기

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 와 DOS의 명령어를 비교해 보도록 하자

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

디렉토리를 삭제한다.

[출처 : http://www.superuser.co.kr/linux/vi/vi.html]

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다