본문으로 바로가기
반응형

 

 

vi 편집기에 대하여 이야기 해보고자 한다.

일단 vi 편집기가 무엇인지 부터 알고가자.

vi 편집기란 !

리눅스 혹은 유닉스 계열의 운영체제 에서 사용하는 편집기,

쉽게 설명하면, 윈도우의 메모장 과 비슷한 역활을 한다고 생각하면된다.

하지만 윈도우의 메모장과 다른점은 명령어를 사용하여 편집이 가능 하다는 점인대.

이러한 명령어의 복잡성 때문에 처음 접하는 사용자들은 사용이 어렵게 느끼는 사람이 많다.

 

하지만, 모든 프로그램이 그렇듯.

처음이 어렵지 쓰다보면 정말 환상적인 편집기라는 생각을 할때가 많다.

 

그럼 그 많은 명령어들을 알아보자

vi 편집기 명령어 이다.

 

1. vi 편집기 시작

vi file

Vi를 시작하여 파일 편집

Vi –R file

읽기 전용으로 파일 편집

view file

읽기 전용으로 지정 파일 시작

 위와 같이 명령어 뒤에 파일명을 작성해 주면 된다.

ex) vi a.text

그러면 윈도우의 메모장 같은 화면이 나온다.

 

 

2. vi종료

:wq

데이터 저장 후 종료

:q!

데이터 저장하지 않고 종료

 

3. vi 되살리기

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에 대한

약어로 변경

:ad

현재 약어 목록 표시

:una short

약어 short 표시

8. 커서 이동

h

한칸 왼쪽 으로 이동

<Backspace>

한칸 왼쪽 으로 이동

j

한줄 아래 이동

k

한줄 위로 이동

l

한칸 오른쪽 이동

<Space>

한칸 오른쪽 이동

-

이전 줄의 처음 이동

+

다음줄 처음 이동

<Return>

다음줄 처음 이동

0

현재 줄의 맨 앞으로 이동

$

현재 줄의 맨 끝으로 이동

^

현재 줄의 첫글자

(공백이나 탭 재외)

w

다음 단어의 첫 글자

W

다음 단어의 첫 글자

e

다음 단어의 끝 글자

E

다음 단어의 끝 글자

b

이전 단어의 첫 글자

B

이전 단어의 첫 글자

(

다음 문장의 처음

)

이전 문장의 처음

{

다음 문단의 처음

}

이전 문단의 처음

H

화면 맨 위로 이동

M

중간으로 이동

L

맨 아래로 이동

9. 줄 길이 조정

 

^F

한 화면 아래로 이동

^B

한 화면 위로 이동

n^F

n화면 아래 이동

n^B

n화면 위로 이동

^D

반 화면 아래 이동

^U

반 화면 위로 이동

n^D

n줄만큼 아래 이동

n^U

n줄만큼 위로 이동

10. 셸 명령 실행

:!command

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

:!!

vi중단후 이전 셸 명령 실행

:sh

vi중단후 셸 실행

:!csh

vi중단후 새로운 셸 실행

11. 패턴에 의한 치환

:s/pattern/ replace/

현재 줄의 치환

:lines/pattern/ replace/

지정한 줄의 치환

:line,lines/pattern/ replace/

지정한 범위의 치환

:%s/pattern/ replace/

모든 줄의 치환

12. 데이터 읽기

:liner file

File 내용을 지정 줄 다음에 삽입

:r file

File 내용을 현재 줄 다음에 삽입

:liner !command

Command 결과 지정한 줄

다음에 삽입

:r !command

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

:r !look pattern

지정한 pattern 으로 시작된

단어 삽입

13. 줄 번호

nG

줄번호 n으로 건너뛰기

lG

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

G

편집 버퍼의 마지막 줄로

건너뛰기

:map g lG

GlG와 같도록 매크로 정의

14. 삽입

i

커서 위치 앞에 삽입

a

커서위치 뒤에 삽입

I

현재 줄의 앞에 삽입

A

현재 줄의 끝에 삽입

o

현재 줄의 아래에 전개

O

현재 줄의 위에 전개

 15. 데이터 저장하기

 

:w

원래의 파일로 저장

:w file

지정한 파일로 데이터 저장

:w >> file

지정한 파일에 데이터 추가

 

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

:e file

지정한 파일 편집

:e! file

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

 

17. 내용 편집

R

한 글자만 입력(입력모드 변경x)

R

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

S

삽입에 의해 한 단어 변경

C

커서 위치부터 줄 끝까지 삽입에

의한 변경

Cc

전체 줄을 삽입에 의한 변경

S

전체 줄을 삽입에 의한 변경

cmove

커서부터 move까지 삽입 변경

~

/소 문자 변경

 

 

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

U

편집/수정 했던 마지막

명령을 취소

U

현재 줄을 저장

.

수정했던 마지막 명령 반복

 

19. 문자 삭제

 

x

커서가 있는 문자 삭제

X

커서의 왼쪽 문자 삭제

D

커서부터 줄의 끝 삭제

dd

현재 줄 삭제

dmove

커서부터 move까지 삭제

dG

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

d1G

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

:lined

지정한 줄 삭제

:line, lined

지정 범위 삭제

 

20. 여러 줄의 복사와 이동

:line

co target

지정한 줄 복사하여

 target 줄 밑에 삽입

:line, lineco target

지정 범위 복사하여

target 줄 밑에 삽입

:line

 m target

지정 줄 이동후

target 줄 밑에 삽입

:line,

Line

m target

지정 범위로 이동 하여

target 줄 밑에 삽입


 위에 나열한 명령어 외에도 많은 명령어 들이 있지만,

위에 내용들만 알아도 사용하기는 충분할거란 생각이 든다,

아울러 개인적으로 많이 사용하는 명령어 들은,

별도의 색으로 표현해 두었으니, 이외에도 본인이 사용하고자 하는

명령어 들을 찾아서 vi편집기 사용함에 있어 불편함이 없으면 좋겠다.

 

 

 

반응형