1. vi 편집기 소개
£ vi(view의 약자) 편집기는 유닉스와 리눅스에서 사용하는 표준편집기로, 앞으로도 널리 사용될 것으로 전망되는 아주 유명한 에디터이다.
£ vi는 입력모드, 명령모드, ex(콜론(:))모드의 3가지 모드로 작동된다.
£ 어떤 파일(예 aa)을 작성할때 vi 파일명을 입력하면 vi 화면이 뜨고, 텍스트를 입력한 후 저장하고자 할때 처음 실행시키면 명령모드에서 실행되며 입력모드로 전환하여 텍스트 작업을 하게 됩니다.
£ ex모드에서는 파일 입출력, vi환경변수 설정 등과 같은 작업을 할 수 있습니다. 명령모드에서 입력모드로 전환한 뒤 다시 명령모드로 들어가기 위해서는 ESC키를 누르면 됩니다.
1.1 입력모드
a : 커서의 오른쪽에서 입력을 받음
A : 라인의 마지막에서 입력을 받음
i: 커서의 왼쪽에서 입력을 받음
I : 라인의 왼쪽에서 입력을 받음
o : 현재 라인 아래에 빈 라인을 추가하며 입력을 받음
O: 현재 라인 위에 빈 라인을 추가하여 입력을 받음
R: 커서의 위치에서 덮어쓰기
1.2 ex모드
£ ex 모드로 전환을 하기 위해서는 명령모드에서 ":"을 입력하면 커서가 화면 아래로 이동하며 ':'를 나타내고 대기상태로 들어갑니다. 이 형태가 ex 모드 입니다. 빠져나올때 Esc 키를 입력합니다.
:q -> vi 종료(저장하지 않은 문서는 종료되지 않음)
:q! -> 저장을 하지 않고 vi 종료
:w -> 문서의 저장
:w 파일명-> 주어진 파일명으로 문서 저장
:w! -> 강제로 문서를 저장 (퍼미션이 읽기전용인 경우)
:x -> 문서 저장 후 종료(명령모드에서 zz와 같음)
:.= -> 커서위치의 줄 번호
:r filename -> 커서위치에 지정한 파일의 내용을 읽어서 삽입
:help 명령키
1.3 명령모드
<방향 이동>
h: <- 좌측으로 이동 / l: -> 우측으로 이동
k: 위로 이동, / j: 아래로 이동
e: 한 단어 뒤로 이동
b: 한 단어 앞으로 이동
^b: 한 페이지 위로 이동
^f: 한 페이지 아래로 이동
^u: 반 페이지 위로 이동
^d: 반 페이지 아래로 이동
o: 해당 라인 맨 앞으로 이동
$: 해당 라인 맨 끝으로 이동
<내용 삭제>
x: 현재 커서 문자 삭제(del)
nx: n개 문자 삭제
X: 현재 커서 앞 문자 삭제(Backspace)
dd: 커서가 위치한 라인 삭제
ndd: n 줄 삭제
dw: 한단어 삭제
D: 커서위치부터 그 줄의 끝까지 삭제
<내용 복사>
yy: 현재 라인을 복사
nY: 5라인을 복사
p: 복사한 라인을 커서가 있는 라인 아래에 붙입니다.(Paste)
P: 복사한 라인을 커서 위 라인에 붙입니다.
<내용 바꾸기>
r: 커서가 위치한 글자를 바꿉니다.
cw: 한단어를 바꿉니다. / cc: 커서가 위치한 한 줄을 바꿉니다.
J: 커서가 있는 라인과 아래 라인을 합칩니다.
<문자열 찾기>
/검색문구: 커서 아랫쪽으로 검색문구 찾음
?검색문구: 커서 윗쪽으로 검색문구 찾음
n: 찾기한 것을 커서 아랫쪽으로 반복
N: 찾기한 것을 커서 윗쪽으로 반복
<기 타>
^g 편집하고 있는 문서에 대한 정보를 화면 하단에 출력합니다.
u 방금한 작업을 취소합니다.
U 해당 라인에 행한 작업을 취소합니다.
. 방금한 작업을 되풀이 합니다.
zz 현재 라인을 화면 중간에 오도록 합니다.
:from,to s/aa/bb/gp aa를 bb로 모두 바꿉니다. from과 to는 위치로서 라인번호, .(현위치), .+k (현위치에서 k 라인 더한 곳), $ (문서 끝)가 사용됨
* swap 파일 발견시 조치 방법
vi 작업 중 비정상 종료시 작업 중인 파일이 숨겨진swap 파일로 보관되는데, 예로 aa 파일의 경우 .aa.swap 파일이 생성됨, 숨겨진 파일 보기인 “ls –a” 명령어로 관련 파일을 확인 한 후 rm 으로 삭제하면 됨
'Programming > UNIX_linux' 카테고리의 다른 글
운영체제의 구조 ( 프로세스 ) (0) | 2009.08.14 |
---|---|
운영체제의 구조 ( 파일 시스템 ) (0) | 2009.08.14 |
UNIX 의 구성 (0) | 2009.08.14 |
UNIX 운영체제 (0) | 2009.08.14 |
리눅스 명령어 정리 (0) | 2009.08.13 |