vi 에디터 자주쓰는 명령어 


학교 다닐때는 리눅스를 쓸일이 없었는데... 회사를 다니면서 쑬 일이 부쩍 많아졌다. 


정리중.... 


vi의 종료

먼저 <ESC>키로 명령모드로 전환 한후 종료 명령

<ZZ> 버퍼를 파일에 기록하고 종료

:wq 버퍼를 파일에 기록하고 종료

:q! 버퍼의 내용을 파일에 기록하지 않고 무조건 종료

:q 버퍼의 내용과 파일의 내용이 일치하는 경우 종료

 

텍스트 편집 명령

a 커서 뒤에 삽입

A 줄의 마지막에 삽입

i 커서 앞에 삽입

I 줄의 시작에 삽입

o 현재 커서의 다음에 빈 라인을 생성

O 현재 커서의 앞에 빈 라인을 생성

 

파일에 관한 명령

:r [파일명] 파일의 내용을 읽어와서 현재의 커서 아래에 삽입

:e! [파일명] 편집중인 파일을 무시하고 새로운 파일을 작성, 편집

:e [파일명] 새로운 파일을 작성, 편집

:n 파일 목록의 다음 파일로 이동

:w 현재 편집중인 파일을 저장

:w [파일명] 현재 편집중인 파일을 새로운 파일명으로 저장

w! [파일명] 현재 편집중인 파일을 현존하는 파일명으로 저장


커서의 이동 명령

1. 문자 단위 이동

h 한 문자 왼쪽으로

j 한 문자 아래로

k 한 문자 위로

l 한문자 오른쪽으로

→←↑↓ 화살표 발향으로 이동

[BackSpace] 한 문자 왼쪽으로

[Enter] 다음 라인의 시작으로


2. 라인에서의 이동

^ 또는 0 라인의 시작위치로

$ 라인의 끝 위치로

 

3. 페이지 단위 이동

[Ctrl]-f 한 페이지 위로

[Ctrl]-b 한 페이지 아래로

[Ctrl]-u 반 페이지 위로

[Ctrl]-d 반 페이지 아래로


4. 단어 단위 이동

w 한 단어 오른쪽으로 이동, 새 단어의 시작 문자에 위치,구두점을 한 단어로 인식

W 한 단어 오른쪽으로 이동, 새 단어의 시작 문자에 위치

b 한 단어 왼쪽으로 이동, 새 단어의 시작 문자에 위치,구두점을 한 단어로 인식

B 한 단어 왼쪽으로 이동, 새 단어의 시작 문자에 위치

e 한 단어 오른쪽으로 이동, 새 단어의 마지막 문자에 위치,구두점을 한 단어로 인식

E 한 단어 오른쪽으로 이동, 새 단어의 마지막 문자에 위치


5. 파일에서의 이동

G 파일의 끝으로 이동

nG 또는 :n n번째 라인으로 이동


6. 화면에서의 이동

H 화면의 첫줄로 이동

L 화면의 끝으로 이동

M 화면의 중간으로 이동

 

삭제 명령

1) 문자 단위 삭제

x 커서가 위치한 곳의 한 문자 삭제

nx n 개의 문자 삭제

X 커서가 위치한 곳 앞의 한 문자 삭제

nX n 개의 문자 삭제

2) 라인 단위 삭제

dd 한 라인 삭제

ndd n개의 라인 삭제

d0 또는 d^ 커서 위치부터 라인의 처음 까지 삭제

d$, D 커서 위치부터 라인의 끝 까지 삭제

3) 단어 단위 삭제

dw 커서 위치에서 오른쪽 한 단어 삭제

db 커서 위치에서 왼쪽 한 단어 삭제

4) d+이동명령

dh,dj,dk,dl,d0,d$

 

5) 파일에서의 삭제

dG 커서 위치부터 파일의 끝 까지 삭제

dnG 커서 위치부터 n번째 라인까지 삭제

   

복사 명령

1) 라인 단위 복사

yy 한 라인 복사

nyy n개의 라인 복사

y0 또는 y^ 커서 위치부터 라인의 처음 까지 복사

y$, Y 커서 위치부터 라인의 끝 까지 복사

2) 단어 단위 복사

yw 커서 위치에서 오른쪽 한 단어 복사

yb 커서 위치에서 왼쪽 한 단어 복사

3) 붙여 넣기

p 커서 위치에서 오른쪽에 붙여 넣기

P 커서 위치위 윗 줄에 붙여 넣기

 

수정 명령

(1) 문자 단위 수정

r 한 문자 수정후 명령 모드

nr n개의 문자를 수정후 명령 모드

R 한 문자 수정후 편집 모드

nR n개의 문자를 수정후 편집 모드

(2) 한 문자를 여러 문자로 수정

s 커서 위치에서 한문자 삭제 후 편집 모드

(3) 여러 문자를 수정

명령 수행 후 [ESC] 키로 마감

cw 현재 커서위치에서 오른쪽 단어 수정

cb 현재 커서위치에서 왼쪽 단어 수정

c0 또는 c^ 커서가 위치한 라인의 시작에서 커서 위치까지 수정

c$또는 C 커서의 위치에서 라인의 끝까지 수정

cc 한 줄을 모두 수정


라인의 결합

J 커서의 다음 줄을 커서가 있는 줄에 결합

 

명령 실행 취소 명령

u 직전의 한 명령 실행 취소(undo), 일부 시스템에서는 여러 명령 취소 가능

U 현재 라인에서의 명령들의 실행 취소

[Ctrl]-r 취소명령의 취소(redo), 일부 시스템에서만 지원


검색

/[패턴] 앞으로 이동하면서 [패턴]을 검색

?[패턴] 뒤로 이동하면서 [패턴]을 검색

n 반복 해서 이전에 지정된 [패턴]을 검색(next search)

 

기타 명령

:!command - 쉘로 나가지 않고 쉘명령을 수행

:sh - 쉘로 잠시 나감, 복귀하려면 exit

. - 직전 명령어 재수행

[CTRL]-g : 전체 줄수와 현재 커서가 위치한 줄 번호

~ - 대소문자 변경

vi 편집기의 환경 설정

:set nu - 라인번호 표시 설정

:set nonu - 라인번호 표시 설정 해제




반응형

+ Recent posts