반응형

Vi 에디터는 3가지 모드로 구성되어 있다.

◎ 명령모드(Command mode)

◎ 입력모드(Edit mode)(insert 모드라고도 함)

◎ 라스트라인모드(Last Line mode) 혹은 ex모드

vi 에디터를 실행하여 가장 처음의 상태가 명령모드이다. 이 상태에서는 키보드로부터 명령을 받는다. 명령은 키보드의 기능키와 함께 a~z, 1~0 와 그 밖의 모든 키들이 사용되고 Ctrl 키와 조합된 키를 사용한다. 단, Alt 키와 조합은 사용하지 않는다. 왜냐하면 IBM 호환 컴퓨터 이외에 다른 웍크스테이션에서는 Alt 키가 없기 때문이다. 뿐만 아니라 Function 키도 아무런 기능이 없다. 이것 또한 메인 프레임 같은 중대형 컴퓨터와 연결된 터미널과  같은 옛날의 컴퓨터에 이 키의 역할을 하는게 없기 때문이다.

명령모드에서 입력모드로 바꾸는 키는 a,i 키를 누르면 된다. 입력모드에서는 보통의 에디터와 같이 문서작성과 편집을 할 수 있다. 여기서 다시 명령모드로 가기 위해서는 Esc 키를 누르면 된다. 확인을 위해 한번 더 누르면 삑 하고 소리가 난다.

명령모드에서 라스트라인 모드로 가려면 ":"를 누르면 커서가 화면의 맨 마지막 줄로 가서 명령을 기다린다.



Vi 실행은 단지 vi 만 치면된다.

# vi

파일 이름없이 처음 시작할 때

# vi file_name

vi에서 지정 file을 읽어들임

# vi +n file_name

n번째 라인에서부터 읽어 들임

# vi + file_name

마지막라인에사부터 읽어 들임

# vi +/pattern file_name

pattern 이 있는 곳에서부터 읽어들임

# vi -R file_name

파일을 읽기전용으로 읽어들임

# view file_name

파일을 읽기전용으로 읽어들임

# vi file_name1, file_name2

여러개의 파일을 동시에 열때

# vi file_*

여러개의 파일을 동시에 열때

위의 여러개의 파일을 동시에 편집하는 경우 다음 파일을 편집하는 경우 라스트라인 모드에서 :n 명령을  입력하면 다음 파일을 편집한다.  :e#를 입력하면 바로 이전 파일로 간다.



2) vi편집기 명령어(대소문자구분)


◎  저장과 종료에 관계된 명령어

명령

설명

zz

저장하고 빠져나감(명령모드)

:wq

저장하고 종료

:q!

저장하지 않고 무조건 종료

:w

저장

:w file

지정 파일명으로 저장

:f file

현재의 파일명을 지정 파일명으로 바꾸어저장

:w %.old

현재의 파일을 *.old의 확장명을 부여 저장

:n1,n2 w file

n1행 번호부터 n2까지 지정파일로 저장

:w!

무조건 저장

 

 

 

 

◎  커서의 위치이동(문자단위 이동명령)

명령

설명

h 또는 ←

왼쪽으로 한 문자 이동

j 또는 ↓

아래로 한 줄 이동

k 또는 ↑

위로 한 줄 이동

l 또는 →

오른쪽으로 한 문자 이동

^

현재줄의 첫 문자로 이동

0

현재 줄의 처음 위치로 이동

$

현재 줄의 마지막 문자로 이동

스페이스

다음 문자

리턴

다음 줄의 첫번째 문자

+

다음 줄의 첫 번째 문자

-

이전 줄의 첫 번째 문자

G

파일의 가장 마지막 줄

nG

지정한 n 번째의 줄로 이동

:n

n번째 줄로 이동

H

현재 화면의 가장 처음 줄로 이동

M

현재 화면의 가운데 줄로 이동

L

현재 화면의 마지막 줄로 이동

nH

화면의 가장 처음 줄로부터 지정한 n번째 줄

nL

화면의 가장 마지막 줄로부터 지정한 n번째 줄


◎  커서의 위치이동(단어단위 이동명령)

명령

설명

b

한 단어 이전으로 이동

B

한 단어 이전으로 구두점을 무시하고 이동

e

다음 단어의 끝으로 이동

E

다음 단어의 끝으로 구두점을 무시하고 이동

w

다음 단어의 처음으로 이동

W

다음 단어의 처음으로 구두점을 무시하고 이동


◎  커서의 위치이동(문장, 절(단락)단위 이동명령)

명령

설명

(

이전 문장의 처음으로 이동

)

다음 문장의 처음으로 이동

G

파일의 마지막으로 이동

[[

처음으로 이동

]]

마지막으로 이동

{

이전 절의 처음으로 이동

}

다음 절의 처음으로 이동


◎새로운 텍스트 삽입

명령

설명

a

커서 바로 다음부터 입력

A

마지막 줄로 Append

i

커서 바로 전부터 입력

I

줄의 처음부터 입력

o

커서 바로 다음에 한 줄 삽입

O

커서 위로 한 줄 삽입


◎화면 스크롤에 관한 명령

명령

설명

^B

이전 화면으로 이동(Page Up)

^F

다음 화면으로 이동(Page Down)

^D

다음 화면으로 화면의 절반 스크롤

^U

이전 화면으로 화면의 절반 스크롤

^E

한 줄 위로 스크롤

^Y

한 줄 아래로 스크롤


◎ 텍스터 바꾸기와 지우기

명령

설명

cw

한 단어를 바꿈. cw를 누른 단어 입력

cc

한 줄을 바꿈

C

현재 커서 위치로부터 마지막 줄까지 바꿈

ncl

현재 커서 위치로부터 n 깨의 단어만큼 바꿈

dd

현재의 줄을 지움

ndd

지정한 n개의 줄을 지움

D

줄의 나머지를 모두 지움

dw

한 단어를 지움

d}

다음 문단까지 지움

d^

줄의 반대방향으로 나머지를 지움

ndh

커서의 왼쪽으로 n 개의 문자를 지움

 D/pat

패턴이 처음 나타나는 부분을 지운다.

 dn

다음 패턴이 나타나는 부분을 지운다.

 dfa

현재줄에서 a 문자가 나오는 곳까지 모두 지움

 dta

현재 줄에서 a 문자를 지움

 dL

화면의 마지막 줄까지 모두를 지움

 dG

파일의 마지막까지 모두 지움

 P

마지막에 지운 텍스터를 커서 다음에 삽입

 p

마지막에 지운 텍스터를 커서 이전에 삽입

 rx

단어를 지정한 x로 대치

 Rtext

text로 대치

s

문자를 치환한다.

S

전체 라인을 치환한다.

u

Undo

U

현재 줄을 복구

x

커서 위치의 한 단어를 지움

X

한 단어를 지움

 ~

대문자를 소문자로, 소문자를 대문자로 바꿈

ctrl +I

불필요한 화면정리


◎ 찾기

명령

설명

/text

지정단어를 커서 다음부터 찾음

n

바로 전의 찾기를 반복

N

반대방향으로 찾기를 반복

/

정방향으로 반복

?

역방향으로 반복

?text

역방향으로 text를 찾음

/text/+n

n번째 라인으로 가서 정방향으로 찾음

/text/-n

n번째 라인으로 가서 역방향으로 찾음

%

brace({})와 bracket([])의 사용이 적합한지 점검

fx

현재 라인에서 정방향으로 x를 찾는다.

Fx

현재 라인에서 역방향으로 x를 찾는다.

tc

현재라인의 c전에서 정방향으로 찾는다.

Tc

현재라인의 c이후에서 역방향으로 찾는다.

,

이전에 f,F,t혹은 T명령으로 찾은 역방향으로 반복

;

f로 찾은 것을 반복


◎ 오려두기와 옮기기

명령

설명

Y 또는 yy

현재 라인을 새로운 버퍼에 저장한다.

y]]

다음 섹션의 처음 부분까지 복사

ye

마지막 단어까지 복사한다.


◎ Marking and Returning

명령

설명

mx

현재 위치를 x로 mark

`x

mark 된 x위치로 이동

`X

mark 된 x라인의 처음 문자로 이동

''

바로전의 커서 위치로 이동

``

바로전의 커서 위치의 첫 문자로 이동


 

반응형

'리눅스' 카테고리의 다른 글

CentOS 에서 네임서버 설치 , 운영  (0) 2011.02.24
네임서버 설치  (0) 2011.02.24
rsync 하기  (0) 2011.01.06
웹 서버 보안을 위한 php.ini 설정팁  (0) 2010.07.06
리눅스 관련 사이트  (1) 2007.06.18
리눅스의 부팅 순서  (0) 2007.06.18
리눅스 바이러스 위험과 대책  (0) 2007.06.18
리눅스에서 하드디스크를 구별하는 방법  (0) 2007.06.18
리눅스의 기본 명령어  (0) 2007.06.18
유닉스의 종류  (0) 2007.06.18

+ Recent posts