Posted on 2007/04/23 17:21
Filed Under 두드린 자는 그 문이 열리리니

Vi editor

텍스트 입력 모드

범위 설정

커서 이동

i

커서 앞에서 삽입

1,$

모든

k

위로

a

커서 뒤에서 삽입

1,.

처음부터 현재 줄까지

j

아래로

o

현재 다음부터 삽입

.,$

현재부터 마지막줄까지

l

오른쪽으로

O

현재 앞에서 삽입

.-2

현재부터 두줄까지

h

왼쪽으로

R

텍스트가 대치

.+2

현재부터 두줄까지

^

줄의 시작으로

텍스트 지우기

텍스트 치환

$

줄의 끝으로

x

문자

r

문자

b

단어 앞으로

dw

단어

cw

단어

w

단어 뒤로

dd

cc

Ctrl+d

화면 아래로

D

현재 줄의 끝까지

텍스트 붙이기

Ctrl+f

화면 아래로

:<R>d

블록단위의

<R>y

줄을 버퍼에 복사

Ctrl+u

화면 위로

탐색

pu

현재 다음에 붙이기

Ctrl+b

화면 위로

/sss

뒤쪽으로sss탐색

:nnpu

nn다음에 붙이기

:nn

줄번호 nn으로

?sss

앞족으로 sss 탐색

파일 저장/불러오기

기타

n

마지막 탐색명령 반복

:w

현재 이름으로 저장

Ctrl+l

화면을 다시 그림

탐색/치환

:w mm

mm으로 저장

:!<C>

잠깐 <C>명령 실행

:<R>s/ sss/ ttt/

처음 줄만 치환

:e mm

mm파일 편집

:q

종료

:<R>s/ sss/ ttt/g

모두 치환

:n

다음 파일 편집

:q!

저장않고 종료

Shell 사용하기

:!<C>

shell명령 실행 Enter키로 복귀

f

동일 검색

:sh

Shell prompt실행, exit 복귀

/<CR>

순방향 점체 검색

Ctrl+z

Vi process 중지, fg 복귀

?<CR>

역방향 전체 검색

화면 커서 이동

;

동일 반복 검색

z

현재 행을 화면의 상단으로 이동

N, n

전체 반복 검색

z.

현재 행을 화면의 중앙으로 이동

/^

검색 문자열을 행의 시작에 한정

Ctrl+E

아래로 이동

/$

검색 문자열을 행의 마지막에 한정

Ctrl+Y

위로 이동

/.

문자를 나타낸다

H

현재 화면의 상단으로 커서를 이동

/[ ]

문자 집합, ^ 여집합

M

현재 화면의 중앙으로 커서를 이동

/ *

0이상의 반복을 의미

L

현재 화면의 하단으로 커서를

/ \<

패턴을 단어의 시작에 한정

텍스트 수정

/ \>

패턴을 단어의 끝에 한정

r

문자 치환

/ \

\ 뒤의 문자를 에스케이프

R

커서 우측으로 입력되는 문자 치환

병합 / 명명

s

문자를 여러 문자로 치환, Esc종료

J

행을 행으로

cw

단어 치환

m

행을 a에서 z중의 하나로 표시

c$

커서부터 행의 마지막까지 치환

블럭 지정 붙여넣기

c^

행의 시작부터 커서까지 치환

yw

현재 커서가 있는 단어

cc

전체 치환

y$

현재 커서가 있는 곳에서 행의

Vi 옵션

y^

현재 커서가 있는 곳에서 행의 시작

vi –r <filename>

임시저장 파일 읽음

yy

현재 커서가 있는 행의 전체

vi –R <filename>

Read Only 읽음

p

붙여넣기

vi +n <filename*gt;

시동시에 n번째 행을 보여줌

텍스트 복구

vi 사용자의 마지막 9개의 삭제를 9개의 버퍼에 보관함으로써 대부분의 잘못된 삭제를 복구할 있다. p 명령 앞에 버퍼 번호를 주어 해당 버퍼에 있는 내용을 되살릴 있다.

예제)    "2p,    "1p

매크로

매크로는 여러가지 기본 명령을 확장해 보다 복잡한 작업을 쉽게 처리하기 위해 제공되는 기능이다.

- Buffer 매크로

  vi a부터 z까지의 버퍼에 명령을 지정하여 실행 있다. 실행 방법은 @<buffer name>이다.
매크로 명령을 buffer 저장하기 위해선 해당 매크로 명령을 입력 모드에서 편집한 다음
  "<buffer name>D
명령을 이용해 편집된 매크로 명령을 해당 buffer 저장한다.

  예제)   i\fI^[Ea\fP^[

           "aD

@a

- Map

  주어진 명령 문자열을 키보드의 키에 지정되도록 해주는 기능이다. 이것은 :map 명령을 사용한다.

  예제)    :map #1 i\fI^V<ESC>Ea\fP^V<ESC><CR>

- 삽입 모드

  맵은 삽입 모드 동안에는 사용할 없다. 삽입 모드에서 맵을 이용하기 위해선 삽입 모드 맵을
사용해야 한다. 이것은 :map! 명령을 사용한다.

  예제)    :map! #1 Changwon<CR>

- 약어

  약어는 그대로 어떤 문자열에 대한 약어를 지정해 주는 것으로써 좀더 문서의 편집을 쉽게
하기 위해 제공되는 기능이다. 이것은 :ab명령을 사용한다.

  예제)     :ab ux UNIX(tm)<CR>

환경 설정 :set <option>

vi에서는 다음의 옵션들을 사용할 있는데 :set 명령과 다음의 옵션을 함께 사용하면 옵션이 설정되고, 옵션앞에 no라는 접두어가 붙으면 옵션의 설정이 해제된다.

autoindent

autoprint

autowrite

beautify

directory=/var/tmp

edcompatible

errorbells

noexrc

flash

hardtabs=8

ignorecase

lisp

list

magic

modelines

number

novice

optimize

paragraphs=IPLPPPQPP Lipplpipnpb

prompt

readonly

redraw

remap

report=5

scroll=17

sections=NHSHH HUuhsh+c

shell=/bin/csh

shiftwidth=4

showmode

slowopen

tabstop=4

taglength=0

tags=tags /usr/lib/tags

tagstack

term=sun-cmd

terse

timeout

ttytype=sun-cmd

warn

window=34

wrapscan

wrapmargin=0

writeany

주요 vi 옵션

autoident(ai) : 새로운 행을 이전 또는 새로운 행이 생길 커서가 어떤 위치에 자동으로 인덴트
          
되도록 한다. c 프로그래밍할 유리하다.

autowrite(aw) : 다른 화일로 옮겨갈 명령을 실행하기 또는 쉘로 잠시 나오기 전에 현재 화일을 강제
           
저장한다. 

ignorecase(ic) : 검색과 대치시 대소문자 구분을 무시한다.

magic : 모든 정규식 문자를 사용할 있게 한다.

mesg : 문서 편집 동안 메시지가 화면에 출력되는 것을 허용한다.

number(nu) : 문서의 행에 행번호를 붙여 화면에 출력한다.

showmach(sm) : ) { 입력할 때마다 자동으로 커서가 대응하는 ( } 이동하여 1초동안 머문다. 

showmode : 상태 행에 현재 편집 모드를 출력한다. 

wrapscan(ws) : vi 매번 화일 전체를 검색하도록 한다.
          
검색은 항상 현재 행부터 시작해서 화일의 끝으로 진행된다. 

예제) 문서의 각행에 행번호를 출력하는 예제      :set number<cR>

     번호 출력을 해제하는 예제             :set nonumber<CR>

     현재 vi 모드를 출력하는 예제             :set showmode

2007/04/23 17:21 2007/04/23 17:21

트랙백 주소 : http://rainyi.net/tc/trackback/88

About

by 레이니

Notice

Counter

· Total
: 75980
· Today
: 15
· Yesterday
: 55