정보과학 IT

VI 명령어

물곰탱이 2012. 8. 19. 18:48

 

VI 명령어

 

1. 시작

vi file

vi를 시작하여 지정한 파일 편집

vi -R file

읽기 전용(read- only) 편집기로서 vi를 시작하여 지정한 파일 편집

view file

읽기 전용(read- only) 편집기로서 vi를 시작하여 지정한 파일 편집

 

2. 종료

:wq

데이터를 저장하고 종료

:q!

데이터를 저장하지 않고 종료

 

3. 시스템이 다운된 후에 되살리기

vi -r

되살릴 수 있는 모든 파일 이름 보여주기

vi -r file

vi를 시작하여 지정한 파일 되살리기

 

4. 디스플레이 제어하기

^L

현재 화면을 다시 디스플레이하기

:set number

내부 줄 번호 디스플레이

:set nonumber

배부 줄 번호 디스플레이 않기

 

5. 마지막으로 지운 것 복사하기

p

마지막으로 지워진 것을 커서의 뒤/아래에 삽입

P

마지막으로 지워진 것을 커서의 앞/위에 삽입

xp

두 문자를 바꿈

deep

두 단어를 바꿈

ddp

두 줄을 바꿈

 

6. 패턴 검색

/rexp

지정된 정규 표현식에 대해 앞으로 이동

/

이전의 패턴에 대해 앞으로 검색을 반복

?rexp

지정된 정규 표현식에 대해 뒤로 이동

?

이전의 패턴에 대해 뒤로 검색을 반복

n

/나 ?명령에 대해 같은 방향으로 반복

N

/나 ?명령에 대해 반대 방향으로 반복

 

7. 약어의 사용

:ab short long

short를 long에 대한 약어로 변경

:ab

현재 약어 목록을 표시

:una short

약어 short를 표시

 

8. 줄 길이의 조정

r <Return>

문자를 뉴라인으로 변경

J

줄의 결합

:set wm=n

오른쪽으로 n문자 위치에서 자동적으로 줄 나눔

 

9. 커서 이동

h<Left>

커서를 한 칸 왼쪽으로 이동

j<Down>

커서를 한 줄 아래로 이동

k<Up>

커서를 한 줄 위로 이동

l<Right>

커서를 한 칸 오른쪽으로 이동

<Backspace>

커서를 한 칸 왼쪽으로 이동

<Space>

커서를 한 칸 오른쪽으로 이동

-

커서를 이전 줄의 처음으로 이동

+

커서를 다음 줄의 처음으로 이동

<Return>

커서를 다음 줄의 처음으로 이동

0

커서를 현재 줄의 맨 앞으로 이동

$

커서를 현재 줄의 맨 끝으로 이동

^

커서를 현재 줄의 첫글자(공백이나 탭이 아닌)로 이동

w

커서를 다음 단어의 첫 글자로 이동

e

커서를 다음 단어의 끝 글자로 이동

b

커서를 이전 단어의 첫 글자로 이동

W

w와 같음(문장 부호 무시)

E

e와 같음(문장 부호 무시)

B

b와 같음(문장 부호 무시)

(

다음 문장의 처음으로 이동

)

이전 문장의 처음으로 이동

{

다음 문단의 처음으로 이동

}

이전 문단의 처음으로 이동

H

커서를 화면 맨 위로 이동

M

커서를 중간으로 이동

L

커서를 맨 아래로 이동

 

10. 편집 버퍼를 통한 이동

^F

한 화면 아래로 이동

^B

한 화면 위로 이동

n^F

n화면 아래로 이동

n^B

n화면 위로 이동

^D

반 화면 아래로 이동

^U

반 화면 위로 이동

n^D

n줄만큼 아래로 이동

n^U

n줄만큼 위로 이동

 

11. 셸 명령 실행

:!command

vi를 중단하고 지정한 셸 명령을 실행

:!!

vi를 중단하고 이전의 셸 명령을 실행

:sh

vi를 중단하고 셸을 실행

:!csh

vi를 중단하고 새로운 C-셸을 실행

 

12. 패턴에 의한 치환

:s/pattern/replace/

현재 줄의 치환

:lines/pattern/replace/

지정한 줄의 치환

:line,lines/pattern/replace/

지정한 범위의 치환

:%s/pattern/replace/

모든 줄의 치환

 

13. 데이터 읽기

:liner file

file의 내용을 지정한 줄 다음에 삽입

:r file

file의 내용을 현재의 줄 다음에 삽입

:liner !command

command의 결과를 지정한 줄 다음에 삽입

:r !command

command의 결과를 현재의 줄 다음에 삽입

:r !look pattern

지정한 pattern으로 시작된 단어 삽입

 

14. 정규 표현식을 사용하기 위한 특수 기호

.

뉴라인을 제외한 모든 단일 문자와 대응

*

영 또는 그 이상의 선행 문자와 대응

^

줄의 시작과 대응

$

줄의 끝과 대응

\<

단어의 시작과 대응

\>

단어의 끝과 대응

[ ]

묶여진 문자중의 하나와 대응

[^ ]

묶여진 문자를 제외한 아무것하고나 대응

\

이어지는 기호를 문자 그대로 해석

 

15. 줄 번호

nG

줄번호 n으로 건너뛰기

1G

편집 버퍼의 첫 줄로 건너뛰기

G

편집 버퍼의 마지막 줄로 건너뛰기

:map g lG

g가 lG와 같도록 매크로 정의

 

16. 삽입

i

입력 모드로 전환, 커서 위치 앞에서 삽입

a

입력 모드로 전환, 커서 위치 뒤에서 삽입

I

입력 모드로 전환, 현재 줄의 앞에 삽입

A

입력 모드로 전환, 현재 줄의 끝에 삽입

o

입력 모드로 전환, 현재 줄의 아래에 전개

O

입력 모드로 전환, 현재 줄의 위에 전개

 

17. 편집하고 있는 파일을 바꾸기

:e file

지정한 파일의 편집

:e! file

지정한 파일의 편집, 자동 점검의 생략

 

18. 내용 고치기

r

단지 한 글자만 변경(입력 모드로 바뀌지 않음)

R

입력하는 대로 겹쳐 써서 변경

s

삽입에 의해 한 단어의 변경

C

커서의 위치로부터 줄 끝까지 삽입에 의한 변경

cc

전체 줄을 삽입에 의한 변경

S

전체 줄을 삽입에 의한 변경

cmove

커서부터 move까지 삽입에 의해 변경

~

대,소문자 바꾸기

 

19. 고치기의 취소 또는 반복

u

편집 버퍼를 수정했던 마지막 명령을 취소

U

현재 줄을 저장

.

편집 버퍼를 수정했던 마지막 명령 반복

 

20. 문자 삭제

x

커서가 있는 문자 삭제

X

커서의 왼쪽 문자 삭제

D

커서부터 줄의 끝까지 삭제

dd

현재 줄의 전체 삭제

dmove

커서부터 move까지 삭제

dG

커서부터 편집 버퍼의 끝까지 삭제

d1G

커서부터 편집 버퍼의 맨 앞까지 삭제

:lined

지정한 줄의 삭제

:line, lined

지정한 범위의 삭제

 

21. 여러 줄의 복사와 이동

:linecotarget

지정한 줄을 복사하여 target 줄 밑에 삽입

:line, linecotarget

지정한 범위를 복사하여 target 줄 밑에 삽입

:linemtarget

지정한 줄로 이동하여 target 줄 밑에 삽입

:line, linemtarget

지정한 범위로 이동하여target 줄 밑에 삽입

 

22. 데이터를 처리하기 위한 셸 명령의 사용

n!!command

n번 줄에서 command의 실행

!move command

커서부터 move까지 command 실행

!move fmt

커서부터 move까지 줄들을 형식 맞추기

 

23. 데이터 저장하기

:w

원래의 파일로 데이터를 저장

:w file

지정한 파일로 데이터를 저장

:w>> file

지정한 파일에 데이터를 추가

 

 

'정보과학 IT' 카테고리의 다른 글

Visual Editor   (0) 2012.08.20
ps -ef | grep Q&A  (0) 2012.08.20
표준 유닉스 명령어  (0) 2012.08.19
Unix 명령어 모음  (0) 2012.08.19
Top SQL 튜닝과 추출 기준  (0) 2012.08.03