vi 명령어 사용방법vi 명령어 사용방법

Posted at 2009. 11. 6. 19:57 | Posted in 컴퓨터관련/리눅스
글자크게글자작게원래사이즈로
VI 사용방법

Word

* 구둣점, space, tab, 숫자, 또는 Enter로 둘러싸인 일련의 인접한 문자군.

* 하나의 구둣점 및 space가 포함되지 않은 복수개의 구둣점도 하나의 word로 산정됨.


Space-delimited word

* space, tab 또는 Enter 로 둘러싸인 일련의 문자군.(구둣점 제외)


line

* Enter로 끝나며, space 및 구둣점을 포함하는 일련의 문자군.

* 화면상에 출력시, 하나의 물리적인 line일 필요는 없으며, 여러 line형태로 나타 나더라도

Enter로만 종료되면 하나의 line으로 간주됨.


sentence

* 마지막 구둣점 및 2 개의 space로 끝나는 일련의 문자군.

* 마지막 구둣점 : .(period) !(exclamation mark) ?(quotation mark)


paragraph

* 하나 이상의 blank line으로 둘러싸인 일련의 문자군.


screen window

* 편집 작업시 하나의 단위로 간주하며, 미리 정의된 화면상의 line 수

* window size 옵션을 이용하여 변경 가능.


mark

* file내의 정확한 위치 정보 보관.

* command mode에서 cursor를 특정 위치에 옮긴 후, 해당 위치를 mark register에 보관해둠으로써

필요시 mark register를 참조하여 해당 위치로 즉시 이동 가능


vi 사용시 유용한 명령

*** 편집 명령 관련 작업 유형 ***

작 업 유 형

내 용

Scroll full screen forward

Scroll full screen backward

Scroll half screen up

Scroll half screen down

Append

Insert

Open line

Delete

Replace

Change

Yank(Move)

Put

Mark

전 방향으로 하나의 screen 이동(up)

후 방향으로 하나의 screen 이동(down)

전 방향으로 half screen 이동

후 방향으로 half screen 이동

cursor 우측에 text 추가

cursor 좌측에 text 삽입

cursor 위치에 blank line 삽입

cursor 좌 혹은 우측의 지정범위의 text 삭제

cursor 우측의 text를 새로운 text로 겹쳐씀

cursor 좌 혹은 우측의 지정 범위의 text를 지정된 text string으로 대체

지정 범위의 text를 cursor 좌 혹은 우측에 이동

지정 범위의 text를 cursor 좌 혹은 우측에 위치

yank, change, delete 관련 text 범위 지정

1. text 입력

text 를 입력하는 한가지 방법은 "a"(append 의미로 화면에 표시되지 않음)을 입력하고

text 를 입력하여, 각 행을 분리할때는 "Enter" 키를 누른다.

text 의 입력을 종료할 때는 "ESC" 키를 누른다.


2. text 보관, 종료

명령어 모드([ESC]인 상태)에서 ":w"를 입력하여 해당 파일을 보관하고, ":q"를 입력하여 "vi" 작업을 종료한다.

입력이 완료되었으면 Shift키를 누른상태로 ;키를 누르면 last line모드로 전환됩니다.

w키를 누르고 Enter키를 누르면 file이 저장됩니다.

3. 커서의 이동

1. 문자 단위로 커서를 옮기는 명령어

l

h

j

k

우측 방향으로 하나 이상의 column 이동

좌측 방향으로 하나 이상의 column 이동

전방으로 하나 이상의 line 이동(동일 column)

후방으로 하나 이상의 line 이동(동일 column)


2. 한 라인 내에서 커서를 옮기는 명령어

$

0

^

fx

Fx

tx

Tx

;

,

n

현재 line의 마지막 문자 위치로 이동

현재 line의 첫번째 문자 위치로 이동

현재 line의 첫번째 non-blank 문자 위치로 이동

우측 방향으로 첫번째 x 문자 위치로 이동

좌측 방향으로 첫번째 x 문자 위치로 이동

우측 방향으로 첫번째 x 문자 바로 전 위치로 이동

좌측 방향으로 첫번째 x 문자 바로 전 위치로 이동

동일 방향으로 바로 전에 실행한 작업 반복

반대 방향으로 바로 전에 실행한 작업 반복

현재 line의 특정 [n] column으로 cursor 이동

3. word 단위로 커서를 옮기는 명령어

w

W

b

B

e

E

다음 word의 첫번째 문자로 이동

다음 space-delimited word의 첫번째 문자로 이동

현재 또는 바로 전 word의 첫번째 문자로 이동

현재 또는 직전의 space-delimited word의 첫번째 문자로 이동

현재 또는 다음 word의 마지막 문자로 이동

현재 또는 다음 space-delimited word의 마지막 문자로 이동

4. sentence와 paragraph 단위로 커서를 옮기는 명령어

(

)

{

}

현재 또는 바로 전 sentence의 첫번째 문자로 이동

다음 sentence의 첫번째 문자로 이동

현재 또는 바로 전 paragraph의 첫번째 문자로 이동

다음 paragraph의 첫번째 문자로 이동

5. 현재 window 내에서 커서를 옮기는 명령어

H

M

L

첫번째 line의 첫번째 non-blank 문자로 이동 (첫번째 line이 blank인 경우 첫번째 문자로 이동 )

화면 중간 line의 첫번째 non-blank 문자로 이동 (중간 line이 blank인 경우 첫번째 문자로 이동)

화면 마지막 line의 첫번째 non-blank 문자로 이동 (마지막 line이 blank인 경우 첫번째 문자로 이동)

6. 현재 window외로 커서를 옮기는 명령어

n+

n-

nG

G

전방으로 "n" line 만큼 scroll후 첫번째 non-blank 문자로 이동

후방으로 "n" line 만큼 scroll후 첫번째 non-blank 문자로 이동

"n"번째 line으로 이동

working buffer 상의 마지막 line으로 이동


7. sentence와 paragraph 단위로 커서를 옮기는 명령어

Ctrl+D

Ctrl+U

Ctrl+B

Ctrl+F

후방으로 half screen 이동

전방으로 half screen 이동

후방으로 하나의 screen 이동

전방으로 하나의 screen 이동

8. 문자와 행 삽입 명령어

a

A

i

I

o

O

cursor 뒤에 text 추가

현재 line 마지막에 text 추가

cursor 전에 text 삽입

현재 line 처음에 text 삽입

현재 line 밑에 blank line 생성

현재 line 위에 blank line 생성

9. 문자와 삭제 명령어

x

dw d0

D

dd

cursor로부터 하나 이상의 문자 삭제

cursor로부터 하나 이상의 word 삭제

line의 처음에서 cursor 전까지 모든 문자 삭제

cursor에서 line의 끝까지 모든 문자 삭제

현재 또는 복수 line 삭제

10. 문자 교체 명령어

nr

R

새로이 입력하는 하나의 문자가 cursor 상의 문자 또는 그 이후의 "n"개 문자를 overwrite 함

[ESC] 전까지 새로이 입력하는 문자들이 cursor 위치부터 기존 text를 overwrite 함

11. 문자 변경 명령어

s

cw

cc

C

c0

cursor 상의 하나 또는 이후의 복수 문자를 다른 문자들로 교체

하나 이상의 word를 새로운 문자로 변경

현재 또는 이후의 복수 line을 새로운 문자로 변경

cursor에서 현재 또는 복수 line의 끝까지 새로운 문자로 변경

현재 또는 이전의 복수 line의 처음에서 cursor 까지 문자 변경

12. last line 모드에서 특정 pattern 검색

:/pattern

:?pattern n

N

cursor 진행 방향으로 pattern 검색

cursor 진행 반대 방향으로 pattern 검색

처음 검색과 동일한 방향으로 다음 pattern 검색

처음 검색과 반대 방향으로 다음 pattern 검색


출처 :
http://myweb.bcpark.net/~hosuck/gnu3/?doc=bbs/gnuboard.php&bo_table=PG_LINUX&sselect=&stext=&ssort=wr_hit&sorder=asc&soperator=&page=2&wr_id=79

'컴퓨터관련 > 리눅스' 카테고리의 다른 글

gentoo 설치 설명  (0) 2009.12.16
vi 에서 한글이 깨질 경우  (0) 2009.11.06
스타크래프트 베틀넷 서버 설치 동영상 주소  (0) 2009.11.06
apache httpd.conf 설정  (0) 2009.11.06
apache 설치  (0) 2009.11.06
//