본문 바로가기

3-1. Linux/::Command::

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 명령어 모음 |작성자 kjg5345