vi 명령어

OS/Linux 2009. 11. 22. 15:23

VI 명령어 모음  

http://blog.naver.com/yhyuckj74/50013459569

 

삽입 명령

a

커서 뒤에 입력

A

라인 끝에 입력

i

커서 앞에 입력

I

라인시작 부분에 입력

o

커서 있는 라인 밑에 입력

O

커서가 있는 라인 위에 입력

커서 이동 명령

h

왼쪽으로 커서 한 칸 이동

H

화면의 처음으로 이동

L

오른쪽으로 한 칸 이동

L

화면 끝으로 이동

e

다음 단어의 마지막으로 이동

E

커서를 공백으로 구분된 다음 단어 끝으로 이동

b

한 단어 뒤로 이동

B

커서를 공백으로 구분된 이전 단어로 이동

w

커서를 한 단어 뒤로 이동

W

커서를 공백으로 구분된 다음 단어로 이동

k

커서를 한 라인 위로 이동

j

커서를 한 라인 아래로 이동

O

커서를 라인의 시작으로 이동

$

커서를 라인의 끝으로 이동

Enter

커서를 다음 라인 시작으로 이동

-

커서를 전 라인의 시작으로 이동

Ctrl + F

다음 화면으로 이동

Ctrl + D

화면의 반만 앞으로 이동

Ctrl + B

전 화면으로 이동

Ctrl + U

화면의 반만 뒤로 이동

G

커서를 텍스트 마지막 라인으로 이동

숫자G

커서를 숫자 라인만큼 이동

M

커서를 화면 중간 라인으로 이동

커서를 전 위치로 이동

(

문장의 시작으로 이동

{

문단의 시작으로 이동

)

문장 끝으로 이동하여 다음 단어의 시작으로 커서 이동

}

문단 끝으로 이동

삭제 명령

x

커서가 있는 문자 삭제

X

커서가 있는 문자 앞에 있는 문자 삭제

dw

커서가 있는 단어 삭제

db

커서가 앞에 있는 단어 삭제

dW

공백으로 구분된 뒷 단어 삭제

dB

공백으로 구분된 앞 단어 삭제

dd

커서가 있는 라인 삭제

D

커서가 있는 라인의 나머지 삭제

d)

문장의 나머지 삭제

d}

문단의 나머지 삭제

dG

파일의 나머지 삭제

dH

화면의 시작까지 삭제

dL

화면의 나머지 삭제

J

커서와 다음 단어의 공백을 모두 삭제

바꾸기 명령

r

커서에 있는 문자 대치

R

입력 모드로 한 문자씩 덮어씀

s

커서가 있는 문자 삭제 후 입력 모드로 전환

S

커서가 있는 줄을 삭제 후 입력 모드로 전환

cb

커서가 있는 앞 문자 삭제 후 입력 모드

cW

공백으로 구분된 뒷 단어를 삭제 후에 입력 모드

cB

공백으로 구분된 앞 단어 삭제 후 입력 모드

cc

커서가 있는 라인을 삭제하고 입력 모드

C

커서가 있는 라인의 나머지를 삭제하고 입력 모드로 전환

cO

커서에서부터 라인의 시작까지 텍스트 바꾸기

c

특정 텍스트 바꾸기

c)

문장의 나머지 바꾸기

c}

문단의 나머지 바꾸기

cG

파일의 나머지 바꾸기

cm

표시까지 모든 것 바꾸기

cL

화면의 나머지 바꾸기

ch

화면의 시작까지 바꾸기

이동

p

삭제나 복사된 텍스트를 커서가 있는 문자나 라인 뒤에 삽입

P

삭제나 복사된 텍스트를 커서가 잇는 문자나 라인 앞에 삽입

dw p

커서가 있는 단어를 삭제한 후 이를변경한 커서가 있는 것 뒤에 삽입

dw P

커서가 잇는 단어를 삭제 후 이를 변경한 커서 있는 곳 앞으로 삽입

d p

지정한 다음 텍스트로 삭제한 후 커서가 가리키는 곳으로 이동

d) P

문장의 나머지로 이동

d} p

문단의 나머지로 이동

dG P

파일의 나머지로 이동

dH p

회면 시작 부분으로 이동

dL P

화면의 나머지를 이동

복사

yw

커서가 있는 단어를 복사

yb

커서가 있는 앞 단어를 복사

yW

공백으로 구분된 뒷 단어 복사

yB

공백으로 구분된 앞 단어를 복사

y

특정한 다음 텍스트 복사

yy

커서가 있는 라인을 복사, 커서가 가리키는 곳으로 라인을 이동

y)

문자의 나머지 복사

y}

문단의 나머지 복사

yG

파일의 나머지 복사

yH

화면의 시작까지 복사

yL

화면의 나머지 복사

검색

/patter

n

텍스트에서 앞으로 패턴 검색

>patter

텍스트에서 뒤로 패턴 검색

n

앞 또는 뒤로 이전 검색 반복

N

반대 방향으로 이전 검색 반복

/

전 검색을 앞으로 반복

?

전 검색을 뒤로 반복

 

vi 에디터 종료 마치기 명령

 

:q

그대로 종료하기

 

:q!

변경된 내용을 저장하지 않고 강제로 종료하기

 

:wq

변경된 내용을 저장하고 종료하기

 

:x

:wq와 동일한 명령

 

ZZ

:wq와 동일한 명령

 

삽입 명령

 

a

커서 뒤에 입력

A

라인 끝에 입력

 

I

커서 앞에 입력

I

라인시작 부분에 입력

 

o

커서 있는 라인 밑에 입력

O

커서가 있는 라인 위에 입력

 

방향키를 이용한 커서 이동 명령

 

<-, Del

왼쪽으로 커서 한 칸 이동

PageUp

화면 위로 이동

 

->

SpaceBar

오른쪽으로 한 칸 이동

PageDown

화면 아래로 이동

 

윗 줄로 커서 이동

Enter

다음 줄 첫 칸으로 이동

 

아래 줄로 커서 이동

Esc

다음 줄 첫 칸으로 이동

 

Home

줄 처음 칸으로 이동

 

다른 키를 이용한 커서 이동 명

 

H

왼쪽으로 커서 한 칸 이동

k

윗 쪽으로 커서 이동

 

l

오른쪽으로 한 칸 이동

j

아래쪽으로 커서 이동

 

e

다음 단어의 마지막 칸으로 이동

E

공백으로 구분된 뒷 단어의 마지막 칸으로 이동

 

b

앞 단어의 앞 칸으로 이동

B

공백으로 구분된 앞 단어의 앞 칸으로 이동

 

W

다음 단어의 앞 칸으로 이동

W

공백으로 구분된 뒷 단어의 앞 칸으로 이동

 

그 외의 키를 이용한 커서 이동 명령

 

Ctrl + F

다음 화면으로 이동

Ctrl + D

반 화면 위로 이동

 

Ctrl + B

(앞) 화면으로 이동

Ctrl + L

반 화면 아래로 이동

 

O

줄이 시작되는 첫 칸으로 이동

-

이전 줄의 시작 부분으로 이동

 

$

줄이 끝나는 마지막 칸으로 이동

+

다음 줄의 시작 부분으로 이동

 

(

문장의 시작으로 이동

{

문단의 시작으로 이동

 

)

문장의 끝으로 이동하여 다음 단어의 시작 첫 칸으로 커서 이동

}

문단의 끝으로 이동

 

G

문서의 마지막 줄로 이동

이전의 커서 위로 이동

 

nG

n번째 줄로 이동

M

화면 중간 줄에 커서 이동

 

삭제 명령

 

x

커서가 있는 문자 삭제

X

커서가 있는 문자 앞에 있는 문자 삭제

 

dw

커서가 있는 단어 삭제

db

커서 앞에 있는 단어 삭제

 

dW

공백으로 구분된 뒷 단어 삭제

dB

공백을 구분된 앞 단어 삭제

 

dd

커서가 있는 라인 삭제

D

커서가 있는 라인의 나머지 삭제

 

d)

문장의 나머지 삭제

d}

문단의 나머지 삭제

 

dG

파일의 나머지 삭제

dH

화면의 시작까지 삭제

 

dL

화면의 나머지 삭제

J

커서와 다음 단어 사이의 모든 공백 삭제

 

바꾸기 명령

 

R

커서에 잇는 문자 대치

R

입력 모드로 한 문자식 덮어 씀

 

s

커서가 있는 문자 삭제 후 입력 모드로 전환

D

커서가 있는 줄을 삭제한 후 입력 모드로 전환

 

cb

커서가 있는 앞 문자 삭제 후 입력 모드

cW

공백으로 구분된 뒷 단어를 삭제한 후 입력 모드

 

cB

공백으로 구분된 앞 단어 삭제 후 입력 모드

cc

커서가 있는 라인을 삭제하고 입력 모드

 

C

커서가 있는 라인의 나머지를 삭제하고 입력 모드로 전환

cO

커서에서부터 라인의 시작까지 텍스트 바꾸기

 

c

특정 텍스트 바꾸기

c)

문장의 나머지 바꾸기

 

c}

문단의 나머지 바꾸기

cG

파일의 나머지 바꾸기

 

cH

화면의 시작까지 바꾸기

cL

화면의 나머지 바꾸기

 

텍스트 이동

 

p

삭제나 복사된 텍스트를 커서가 있는 문자나 라인 뒤에 삽입

P

삭제나 복사된 텍스트를 커서가 있는 문자나 라인 앞에 삽입

 

dw p

커서가 있는 단어를 삭제한 후 이를 원하는 곳 커서 뒤로 삽입

dw P

커서가 있는 단어를 삭제한 후 이를 변경한 커서가 있는 곳으로 삽입

 

d p

지정한 다음 텍스트로 삭제한 후 커서가 가리키는 곳으로 이동

d) P

문장의 나머지로 이동

 

d} p

문단의 나머지로 이동

dG P

파일의 나머지로 이동

 

dH P

화면 시작 부분으로 이동

dL P

화면의 나머지를 이동

 

복사

 

yw

커서가 있는 단어를 복사

yb

커서가 잇는 앞 단어를 복사

 

yW

공백으로 구분된 뒷 단어 복사

yB

공백으로 구분된 앞 단어를 복사

 

y

특정한 다음 텍스트 복사

yy

커서가 있는 라인을 복사, 커서가 가리키는 곳으로 라인을 이동

 

y)

문자의 나머지 복사

y}

문단의 나머지 복사

 

yG

파일의 나머지 복사

yH

화면 시작까지 복사

 

yL

화면의 나머지 복사

 

검색

 

/pattern

텍스트에서 앞으로 패턴 검색

>pattern

텍스트에서 뒤로 패턴 검색

 

n

앞 또는 뒤로 이전 검색 반복

N

반대 방향으로 이전 검색 반복

 

/

전 검색을 앞으로 반복

?

전 검색을 뒤로 반복

 

옵션

옵션약어

기능

디폴트

autoindent

ai

들여 쓰기 가능, 탭으로 들여 쓰기 범위 지정

off

autoprint

ap

줄이 바뀔 때 현재 줄을 화면상에서 출력

on

errobells

ed

명령 에러가 발생시 삑 소리나게 함

off

number

nu

줄 번호를 나타나게 함

off

report

report

편집시 메시지를 보낼 편집 변화 크기 지정

5

showmatch

sm

가로 닫기 괄호를 사용할 때 일치하는 가로 열기 괄호를 보여줌

off

wam

wam

저장하지 않고 vi 종료할 때 경고 메시지를 뿌려 줌

on

ignorecase

ic

검색 패턴에 사용되는 대소문자 구별하지 않음

on

tabstopp=n

ts=n

탭 공백을 n 수만큼 지정

8

wrapmargin=n

wm=n

텍스트 오른쪽 여백을 n 수만큼 지정

0

내용출처 : [직접 서술] 블로그 집필 - 뿌로구라모
 
 



vi 에디터  (출처:http://compedu.inue.ac.kr/%7Echlee56/wowlinux/vi.htm)

vi 기초

여러개 파일을 동시에 열고 싶을 때,

$ vi  *.html  (.html파일을 모두 연다)

    :n은 다음문서, :N은 이전문서로 간다.  

다음, 파일을 저장하거나 닫고 싶거나 다른 파일을 편집하고 싶을 때,
(먼저 ESC를 눌러서 명령을 내릴 수 있는 상태로 변환해야 합니다.)

명령

설 명

ZZ or :wq

저장하고 vi 끝내기

:w [파일이름]

주어진 파일이름으로 파일 저장하기

:w! [파일이름]

주어진 파일이름으로 저장/덮어쓰기

:q!

편집한 내용을 저장하지 않고 vi 끝내기

:e!

편집한 내용을 저장하지 않고 최종 저장된 상태로 파일 열기

:w 새파일이름

현재 작업중인 파일을 새파일이름으로 저장하기

:e 열고_싶은_파일이름

vi를 끝내지 않고 다른 파일 편집하기

vi의 세가지 모드

vi에는 세가지 모드가 있습니다. Command, Insert, ex 모드랍니다.

모 드

전환키

설 명

Command Mode

ESC

문서내의 텍스트를 지우거나, 복사하거나, 추가하거나, 삽입하거나, 옮기거나 할 수 있는 명령을 사용할 수 있는 모드입니다.

Insert Mode

i,a,o,O, ...

문서에 텍스트를 추가하거나, 삭제하거나, 복사할 수 있는 모드입니다.

ex Mode

:

맨 아래 라인에 확장된 명령어를 입력할 수 있도록 해줍니다.


파일 안에서 커서 움직이기

한칸씩 이동하는 것은 화살표키로도 가능하지만, vi명령을 사용할 경우 '3h'와 같이 사용하여, '오른쪽으로 3칸이동'과 같은 명령을 수행할 수 있다.

입력 키

기 능

입력 키

기 능

h

오른쪽으로 한 칸

b

한 단어 뒤로 이동

j

아래로 한 칸

B

특수문자/기호들은 단어로 치지 않고, 한 단어 뒤로 이동

k

위로 한 칸

w

한 단어 앞으로 이동

l

왼쪽으로 한 칸

W

특수문자/기호들은 단어로 치지 않고, 한 단어 앞으로 이동

0

라인의 시작으로 이동

:0

문서의 맨 앞으로

$

라인의 끝으로 이동

:$

문서의 맨 뒤로

^

라인의 첫 번째 단어로 이동




텍스트를 편집하기 위한 명령


입력 키

기 능

입력 키

기 능

i

insert, 현재 문자 앞에서부터 입력

cw

한단어 change

a

append, 현재 문자 뒤부터 입력

x

한문자 delete

o

현재 줄 아래 한 줄 삽입
O : 현재 줄 위에 한 줄 삽입

y

yank(copy) text, 문자 복사
yw : 단어 복사
yy : 한줄 복사
3yy : 세줄 복사

r

replace

p

put(paste) 현재 줄 다음 줄에 버퍼의 내용을 붙인다.

R

현재 문자 이후부터 replace

P

현재 줄 앞에 버퍼의 내용을 붙인다.

dw

delete word

u

마지막 명령을 Undo
U : 그줄에서 수행한 명령들을 Undo

dd

delete line

J

join, 두 줄을 연결한다.


vi에서는 정규표현식을 사용하여 여러 가지 작업을 효율적으로 처리할 수 있습니다.
예를들어, 다음 명령으로 정해진 패턴을 삭제하거나, 바꿀 수 있습니다.

    :s/old/new/g
    --> old를 찾아 new로 바꾸어 준다.

    :10,50s/old/new/g
    --> 10~50Line 사이에 있는 old를 찾아 new로 바꾸어 준다.

    :1,$s/old/new/g
    :%s/old/new/g
    --> 현재 문서의 처음부터 끝까지 old를 찾아 new로 바꾸어 준다.

    :1,$s/old/new/gc
    --> c옵션에의해 바꾸기 전에 항상 물어본다.

환경설정 set 명령


set 명령은 vi의 각종 환경을 설정하는데 사용됩니다.

set 명령의 환경 변수 설정은 세가지 타입이 있습니다.

    Boolean(on|off), Numeric, String

어떤 환경변수가 있는지는 다음 명령으로 확인해 보세요.

    :set all


vi 환경 설정하기

~/.exrc

vi는 실행될 때마다, 위의 파일을 읽는다. 이 파일은 자신의 홈디렉토리 안에 만들어 주면 되고, 기본적으로 Tab size, Line Number 출력 여부, 자동 들여쓰기 여부, 좌표 출력 여부등의 여러 가지 설정을 자신의 취향에 맞게 할 수 있습니다.

set autoindent
set number

와 같은 형식으로 씁니다.

리눅스 명령 실행하기



vi를 종료하지 않고도 리눅스 명령어를 수행 할 수 있습니다.

    ':!  '를 입력하고, 수행하기 원하는 명령어를 치면 됩니다.

     :!ls
     :!data
     :r  !date
    --> 명령을 실행하고 실행 결과를 현재 파일안에 삽입한다.  

Posted by jude
 
 
 
 


[리눅스 강좌] vi 에디터 초간단 메뉴얼
번호 : 1871   글쓴이 : M_태그
조회 : 78   스크랩 : 0   날짜 : 2006.11.03 10:52
가장 대중적이고 가장 중요한 편집기이지만, 너무나도 낯선 사용법에 그동안 힘드셨다면 일단 이 글부터 읽어보시길 권합니다.

vi는 VIsual editor의 약자로 유닉스 세상에서는 표준 에디터의 자리를 구축하고 있습니다. 물론 emacs처럼 엄청나게 강력한 에디터도 있습니다만, 동네 목욕탕 가면서 롤스로이스를 몰고 갈 필요는 없는 법. 자전거만 있으면 되죠. vi 사용 순서는 다음과 같습니다.

1. 시작하기
2. 편집하기
3. 종료하기


너무 간단합니까?

오늘은 여러분의 홈 디렉토리에 있는 .bashrc 파일을 조금 편집하는 것으로서 vi에 입문하도록 할 것입니다. 이 글의 내용은 얼마 되지 않지만 짜내고 짜낸 핵심 중의 핵심입니다. 이걸 모른다면... 음...

********************

1. 시작하기

vi를 실행해 보겠습니다.

vi[엔터]

물결표시 ( ~ ) 가득한 vi의 화면이 보일 것입니다. 아마 이름이 vim일텐데 신경쓰지 마십시오. Vi IMproved라고 해서 vi의 개선판입니다. 막 vi를 실행한 지금은 명령모드라고 합니다. ( 엄밀히 말하면 좀 다르지만 그렇게 알아두셔도 무리가 없을 듯 ) 명령모드에서는 글자가 입력되지 않습니다. 글자를 입력하기 위해서는 편집모드로 들어가야 됩니다. 편집모드로 들어가서 새로운 글을 써도 되지만 지금은 일단 파일을 불러와야 하니까, 다음과 같이 하십시오.

:e .bashrc[엔터]

shift 키를 누른 채 콜론 ( ; )을 입력하면 세미콜론( : )이 찍히죠. 그리고 e를 입력하고 ( 아마도 edit의 e 같습니다 ) 한 칸 띄고 편집하려는 파일 이름을 쓰고 엔터를 치면 됩니다. 그럼, 화면에 .bashrc 파일이 불려옵니다.

X 윈도즈에서 터미널 창을 불러 vi를 실행했다면 한글 부분이 제대로 보일 것이고, X 윈도우가 아닌 그냥 콘솔 모드에서는 한글이 표현되지 않기 때문에 한글 부분은 깨져 보일 것입니다.

어느 키보드를 누르라는 것까지 말씀드리는 건 vi를 처음 접하시는 분들에게는 너무나도 낯선 vi의 환경 때문입니다. 여러분이 익히 쓰시던 윈도즈의 프로그램들 수준에 vi를 맞춰서 이해하려 하지 마시고, vi의 성격에 여러분의 생각을 맞춰주시기 바랍니다.

2. 편집하기

커서를 여기저기 움직이기 위해서는 화살표 키를 이용하십시오. 물론 그것에 비하면 수백 배는 많은 이동 방법이 있지만 이 글은 초미니 매뉴얼이라는 걸 상기하시기 바랍니다. 일단은 사용할 수 있고 난 다음에 그런 축지법을 익힐 일입니다.

이제 깜빡거리는 커서를 움직여서 화면 맨 윗 줄, 맨 앞에 가져다 놓으십시오. 그리고 i ( 알파벳 소문자 아이 )를 누르세요. 화면 하단 부분에 -- INSERT -- 라고 바뀌면서 삽입모드로 전환되었습니다. 이제부터 여러분이 타이핑하는 것들은 문서에 입력되게 됩니다.

기억하세요. 명령모드에서 편집모드로 들어가기 위해서는 i를 누르면 됩니다. ( 화면에는 표시되지 않습니다. 그냥 명령이기 때문에 ) 편집모드에서 명령모드로 빠져나오기 위해서는 Esc 키를 누르면 됩니다. 앞으로는 습관처럼 Esc 키를 두들기십시오.

이제 편집모드에 있으므로 다음과 같이 입력하세요.

echo "Hey, What do you want?"[엔터]

그리고 나서 명령모드로 빠져나오세요. 당신은 드디어 파일을 편집할 수 있게 되었습니다.

3. 끝내기

vi를 마치려면 일단 지금까지 편집했던 내용들을 저장해야 합니다.

:w[엔터]

w는 아마도 write의 약자인 듯합니다. 저장장치에 쓰라는 말이겠죠. w 명령으로 당신은 편집한 파일을 저장하게 되었습니다. 이제 vi를 마칩시다.

:q[엔터]

이렇게 입력하면 vi를 끝내게 됩니다. 만약 파일이 변경되었는데 저장하지 않았다면 vi는 종료되지 않습니다. 변경된 내용을 무시하고 무조건 종료하기 위해서는 다음과 같이 하십시오.

:q![엔터]

느낌표를 붙이면 파일이 변경되었더라도 저장하지 않고 강제로 종료하게 됩니다. 느낌표는 q에 붙여서 쓰시기 바랍니다.

********************

지금 우리가 무슨 짓을 했는지 알아봅시다. 일단 로그아웃하세요. 그리고 다시 로긴해 보세요. 리눅스가 "Hey, What do you want?"라며 당신을 환영합니다. 너무 건방지다 싶으면 다른 말을 써 두십시오.

다시 vi .bashrc 라고 입력해서 파일을 편집합시다. vi 뒤에 파일 이름을 써서 실행하면 그 파일을 바로 편집할 수 있습니다. 만약 파일 이름이 없는 것이었다면 그 이름을 가지는 새 파일을 작성하게 됩니다.

echo로 시작되는 첫 줄을 가지고 지우는 연습을 하겠습니다. 커서를 첫 줄에 옮겨놓으시고 명령모드에서 ( Esc를 몇 번 누르면 됩니다 ) x를 한번 눌러보십시오. 커서 뒤에 있는 글자 한 개가 지워집니다. 이것이 vi에서 글자를 지우는 전통적인 방법입니다. 딜리트 키를 사용하시려면 그렇게 하세요. 하지만 전통을 지켜줘야 한다는 생각이 드는군요.

한 줄 다 지우려면 x를 허벌나게 눌러야 할까요? 설마... 명령모드에서 ( Esc를 누르시면 됩니다. 지금이 편집모드인지 명령모드인지 확인하기가 좀 불편하기 때문에 리눅스를 쓰는 사람들은 명령모드에 있기 위해서 습관처럼 Esc키를 두들기고 있습니다. 키보드가 부서지지 않을 정도로만 두들기십시오 ) d를 두 번 연속해서 누르십시오. 다른 매뉴얼들에는 dd라고 하더군요. 한 줄을 지울 때 쓰는 방법입니다. 이제 저장하고 나가던지, 그냥 나가던지는 알아서 하세요.

지금까지 내용은 vi의 기능 중에서 1%도 되지 않는, 정말 vi를 몰라 답답했던 사람들에게 해당되는 내용이었습니다. 좀 삽질을 하게 되지만 일단 이 내용만 알면 vi를 사용할 수는 있습니다.

하지만 단어 검색, 파일 내에서의 편리한 이동, 버퍼 사용하기, 외부 기능 확장 등 설명하지 않은 부분이 더 많고, 사실 모든 사용법에 대해 설명하려면 리눅스의 다른 모든 것과 마찬가지로 책 한 권이 나옵니다.

일단 급한 대로 이 내용은 다 익혀두십시오. 그 다음에 필요한 기능을 하나씩, 하나씩 습득하시면 됩니다. 모든 것이 하루 아침에 완성될 수는 없지 않겠습니까. 
 



vi 명령어

 

vi에디터는 세가지 모드가 존재하며, 입력(input), 명령(command), ex(last line)모드이다. 이에 우선 명령어 모드는 파일의 편집작업을 하는 것으로 글자를 지우고, 바꾸고, 복사하고, 다른 곳으로 옮기는 등의 작업을 할 수 있다. 이러한 명령어 모드의 명령어들은 영어단어의 첫글자로 만들어졌으며 대소문자를 구분한다. 입력모드의 경우에는 에디터 상에서 글을 입력하는 모드이다. 삽입 모드가 아닌 경우에는 입력이 불가하며, vi에디터는 명령어 모드로 시작된다. 마지막으로 ex모드의 경우에는 명령어 모드의 확장이라고 볼 수도 있는데, 마지막에 정리를 하거나, 저장을 하기 위해 사용되는 모드로 대체적으로 :나 /, ? 이 사용된다.

 

 

 

 

 

그럼 구체적인 명령어를 살펴보면,

 

 

 

 command line 명령어

내 용

vi file

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

vi -r file

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

view file

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

vi -r

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

vi -r file

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

 
 

편 집 명 령

내 용

i

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

a

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

I

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

A

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

o

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

O

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

:e file

지정한 파일의 편집

:e! file

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

r

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

R

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

s

삽입에 의해 한 단어의 변경

C

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

cc

전체 줄을 삽입에 의한 변경

S

전체 줄을 삽입에 의한 변경

cmove

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

~

대,소문자 바꾸기

u

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

U

현재 줄을 저장

.

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

x

커서가 있는 문자 삭제

X

커서의 왼쪽 문자 삭제

D

커서부터 줄의 끝까지 삭제

dd

현재 줄의 전체 삭제

dmove

커서부터 move까지 삭제

dG

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

d1G

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

:<line>d

지정한 줄의 삭제

:<line>,<line>d

지정한 범위의 삭제

:<line>co<target>

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

:<line>, <line>co<target>

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

:<line>m<target?

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

:<line>, <line>m<target>

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

<n>!!command

n번 줄에서 command의 실행

!move command

커서부터 move까지 command 실행

!move fmt

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

:w

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

:w file

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

:w>> file

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

:wq

데이터를 저장하고 종료

:q!

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

:set number

내부 줄 번호 디스플레이

:set nonumber

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

p

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

P

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

xp

두 문자를 바꿈

deep

두 단어를 바꿈

ddp

두 줄을 바꿈

/rexp

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

/

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

?rexp

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

?

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

n

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

N

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

:ab short long

short를 long에 대한 약어로 변경

:ab

현재 약어 목록을 표시

:una short

약어 short를 표시

r<Return>

문자를 뉴라인으로 변경

J

아래 line을 현재 line과 합치기

:set wm=n

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

h or <Left key>

커서를 한 칸 왼쪽으로 이동

j or <Down key>

커서를 한 줄 아래로 이동

k or <Up key>

커서를 한 줄 위로 이동

l or <Right key>

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

<Backspace>

커서를 한 칸 왼쪽으로 이동

<Space>

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

-

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

+

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

<Return>

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

0

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

$

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

^

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

w

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

e

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

b

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

W

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

E

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

B

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

(

다음 문장의 처음으로 이동

)

이전 문장의 처음으로 이동

{

다음 문단의 처음으로 이동

}

이전 문단의 처음으로 이동

H

커서를 화면 맨 위로 이동

M

커서를 중간으로 이동

L

커서를 맨 아래로 이동

^f

한 화면 아래로 이동

^b

화면 위로 이동

^d

반 화면 아래로 이동

^u

반 화면 위로 이동

n^d

n줄만큼 아래로 이동

n^u

n줄만큼 위로 이동

:!command

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

:!!

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

:sh

vi를 중단하고 셸을 실행

:!csh

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

:s/<pattern>/<replace>/

현재 줄의 치환

:<line>s/<pattern>/<replace>/

지정한 줄의 치환

:<line>,<line>s/<pattern>/<replace>/ 

정한 범위의 치환

:%s/<pattern>/<replace>/

모든 줄의 치환

:<line>r file

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

:r file

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

:<line>r !command

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

:r !command

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

:r !look pattern

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

.

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

*

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

^

줄의 시작과 대응

$

줄의 끝과 대응

\<

단어의 시작과 대응

\>

단어의 끝과 대응

[ ]

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

[^ ]

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

\

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

<n>G

줄번호 n으로 건너뛰기

1G

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

G

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

:map g lG

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



 

아래 표 출처 : http://if.kaist.ac.kr/~jskim/Home/etc/vi.html

'OS > Linux' 카테고리의 다른 글

리눅스 한글 입력  (0) 2009.11.28
우분투] 설치 후 초기화 과정  (0) 2009.11.28
vi를 사용할 때 주의사항  (2) 2009.11.08
vi편집기 환경설정(vimrc)  (0) 2009.11.08
시스템정보 명령어  (0) 2009.10.21
Posted by 야동우
,