본문 바로가기

Programming/UNIX_linux

VI 편집기 명령어 정리

  

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