vi 편집기
- 각종 문서를 편집할 수 있는 텍스트 기반의 편집기로써 유닉스 계열(리눅스 포함)의 운영체제에서 사용하는 편집기 (윈도우의 메모장)
- 켈리포니아 대학의 대학원생 Billy Joy가 라인 편집기인 ed(UNIX Line Editor)를 새롭게 개선해 개발한 석으로 UNIX 3.0 BSD 에서 발표될 떄 'C Shell'과 함께 추가된 프로그램
- 화면 단위로 프로그램이나 파일을 편집할 수 있도록 80문자의 20개 라인 정도로 나타내며, 사용자는 커서를 이동시키면서 파일의 내용을 수정
- 입력모드(insert mode), 명령모드(command mode), 라인모드(line mode)의 세 가지 모드로 구분
명령모드 <--> 입력모드 : i or a
입력모드 <--> 명령모드 : Esc
명령모드 <--> 라인명령모드 : ':' (콜론)
모드별 설명
1. 입력모드
- 입력을 원하는 글자를 입력하고, 화면은 입력한 상태를 그대로 보여주는 모드
2. 명령모드
- 한 글자 또는 두 글자 명령을 사용하여 커서를 이동하고 글자를 삭제 및 교체하고, 문자열을 검색하는 모드로 다양한 편집을 가능하게 하는 모드
- 명령이 아닌 키보드 입력은 모두 에러처리 되며, 리눅스에서 '삑' 하는 소리로 잘못된 입력이라는 것을 알려줌
3. 라인모드
- Esc 키를 누르고 콜론(:) 프롬프트에서 명령을 입력하여 저장,편집,검색 기능등 다양한 기능을 제공하는 모드
- 명령모드에서 입력모드로 바꿔야 새로운 문자의 입력이 가능
- 글쓰기를 할 때는 반드시 A 또는 I 키를 눌러 입력모드로 바꿔야 하며, 명령모드로 되돌아오려면 Esc 키를 누름
- 일반 문서 편집기 처럼 자동 저장하는 기능이 없어서 자주 입력 내용을 저장해 주어야 함.
입력모드로 가는 명령어 종류
종류 내용
a 현재 위치의 다음부터 입력 시작
A 현재 줄의 끝에서 부터 입력 시작
i 현재 위치의 앞에서 부터 입력 시작
I 현재 줄의 처음에서 입력 시작
o 현재 줄과 다음 줄 사이에 입력 시작
O 현재 줄과 앞줄 사이에 입력 시작
편집기의 사용 방법
1. 편집기의 실행과 종료
- 편집기의 입력 모드 명령
[sunrin@localhost ~]$ vi [file_name] or [sunrin@localhost ~]$ vi
- 실행시키면 커서는 맨 위에 나타나고, 하단에 상태표시가 나타남
명령모드에서 명령어 종류 (콜론 누르고 쓰는 명령어)
명령어 내용
:q 그대로 종료
:q! 변경된 내용을 저장하지 않고 종료
:wq 변경된 내용을 저장하고 종료
:x 변경된 내용을 저장하고 종료
ZZ 변경된 내용을 저장하고 종료
- 아무런 내용이 입력되지 않았으면 Esc 를 누른 후 ':q' 를 입력하면 바로 종료
- 입력한 내용이 있는 경우 Esc 를 누르고 ':q'를 입력하게 되면 버퍼에 입력한 문자가 남아있어 화면 맨 아래 경고 문구가 출력되며 종료되지 않는다.
- 저장하지 않고 마치고자 한다면 ':q' 뒤에 '!'를 사용한다
- '!'는 강제로 그 명령을 수행한다는 뜻.
2. 파일 불러오기와 저장하기
- vi 편집기의 파일 불러오기 명령
명령어 내용
:r [file_name] 지정한 파일의 내용을 현재 커서가 있는 줄 다음에 불러옴
vi [file_name] 편집기를 시작할 때부터 특정 파일을 불러와서 시작
- vi 편집기의 파일 저장하기 명령
명령어 내용
:w 문서의 내용을 현재 파일에 저장
:w [file_name] 문서의 내용을 지정하는 파일에 저장
:w! [file_name] 문서의 내용을 지정하는 파일에 저장 (이미 있는 파일에 덮어씀)
3. vi 편집기 커서 이동 명령 (명령모드에서 사용합니다.!!)
- 기본 커서 이동 방법
입력키 내용
h 커서를 한 칸 왼쪽으로 이동
j 커서를 한 줄 아래로 이동
k 커서를 한 줄 위로 이동
l 커서를 한 칸 오른쪽으로 이동
- 단어 단위 커서 이동 방법
입력키 내용
b,B 커서를 이전 단어의 첫 글자로 이동
e,E 커서를 다음 단어의 끝 글자로 이동
w,W 커서를 다음 단어의 첫 글자로 이동
- 라인 단위 커서 이동 방법
입력키
-
+
<Enter>
0
$
^
- 문단 단위 커서 이동 방법
입력키
( 문장의 시작으로 이동
) 문장 끝으로 이동하여 다음 문장의 시작 첫 칸으로 커서 이동
{ 문단의 시작으로 이동
} 문단의 끝으로 이동
G 문서의 마지막 줄로 이동
nG n번째 줄로 이동
" 이전의 커서 위치로 이동
M 화면 중간 줄에 커서 이동
--> VI에서 줄번호 보이기
:set nu 줄번호가 나타남
:set nonu 줄번호가 사라짐
(앞에 콜론(:)으로 명령모드에서 타이핑해야함)
4. vi 편집기 삭제 명령
- 버퍼 내에 있는 파일의 내용 중에 사용자가 원하는 문자 및 문자열을 삭제 가능
- 문자의 개수를 지정하여 삭제하는 것을 비롯하여 문자열 단위 삭제, 라인 단위 삭제 등 다양한 삭제 방법을 제공
- 글을 삭제할 때는 항상 입력모드로 되어 있어서는 안 되며, 반드시 입력모드에서 Esc 를 눌러 명령모드로 전환하고 삭제 관련 명령을 수행
명령어
입력키 내용
x 현재 커서가 위치한 글자 삭제(Delete)
dd 현재 커서의 행 삭제
yy 현재 커서가 있는 행을 복사
p 복사한 행 내용을 현재 행 이후에 붙여 넣기
X 현재 커서가 위치한 앞 글자 삭제(Backspace)
ndd 현재 커서부터 n 만큼의 행 삭제
nyy 현재 커서부터 n 만큼의 행을 복사
P 복사한 내용을 현재 행 이전에 붙여 넣기
VI 에서 대소문자 변환 : ~
Ex) 7~ --> 현재 커서에서 앞 7문자의 대소문자 변환
마지막 실행한 명령을 반복 실행 : .
찾기와 바꾸기
/[Information to find] : 찾을 내용을 문서에서 찾아 하이라이트로 표시
n : 문서 아래쪽으로 찾을 내용을 검색하여 하이라이트로 표시
N : 문서 위쪽으로 찾을 내용을 검색하여 하이라이트로 표시
:s/[find]/[change] 찾을 내용을 바꿀 내용으로 바꿔준다. 시작위치부터 첫 번째로 검색된 내용만 바꿔준다.
:%s/[find]/[change]/g 전체 문서에서 찾은 모든 내용을 바꿀 내용으로 바꾼다.
:%s/[find]/[change]/gc 사용자 확인 후 찾을 내용을 바꿀 내용으로 바꾼다. 전체 문서에서 찾을 내용을 하나하나 찾아 변경을 원하는지 확인한 후 변경한다.
'전공 과목 시험정리 > 운영체제 기초' 카테고리의 다른 글
OPERATING SYSTEM - LINUX (0) | 2015.01.11 |
---|---|
접근 권한과 소유권 (0) | 2015.01.11 |
사용자 계정 관리 / 슈퍼유저 (0) | 2015.01.11 |
리눅스 기본 명령어 3 (0) | 2015.01.11 |
리눅스 디렉토리 (0) | 2015.01.11 |