2006년 4월 18일 화요일

유닉스의 표준 편집기 vi의 사용법

유닉스의 표준 편집기 vi의 사용법



vi 에는
  • 명령대기 상태
  • 글자입력 상태
  • 명령줄 상태
  • 가 있다.



    vi를 실행한 직후는 명령대기 상태이다.

    명령대기 상태에서 글자입력 상태로 바꿀려면 i, I, a, A, o, O 중 하나를 누른다.

    명령대기 상태에서 명령줄 상태로 바꾸려면 :, / 중 하나를 누른다.

    글자입력 상태에서 명령대기상태로 바꿀려면 ESC키를 누른다.

    명령줄 상태에서 명령대기상태로 바꿀려면 ESC키, ENTER키 중 하나를 누른다.


    명령대기 상태에서 현재 편집중인 파일을 저장할려면 :을 눌러 명령줄 상태가 되게한 후 w를 입력하고 ENTER키를 누른다.

    명령대기 상태에서 현재 편집중인 파일을 저장하고 vi를 빠져 나갈려면 :을 눌러 명령줄 상태가 되게한 후 wq!를 입력하고 ENTER키를 누른다.

    명령대기 상태에서 현재 편집중인 파일을 저장하지 않고 vi를 빠져 나갈려면 :을 눌러 명령줄 상태가 되게한 후 q!를 입력하고 ENTER키를 누른다.

    명령대기 상태에서 글자 찾기를 할려면 /를 눌러서 명령줄 상태가 되게한 후 찾고자 하는 글을 입력하고 ENTER키를 누른다.




    1. 명령대기 상태

    명령대기 상태에서는 커서의 이동, 빈줄의 추가, 삭제하기, 바꾸기, 메모리 복사붙여 넣기 등을 할 수 있으며, 이 들에 대한 명령 키와 설명은 다음 표에 열거되어 있다.


    커서의 이동
    명령키 설 명
    h
    커서를 한칸 왼쪽으로 이동한다.
    j
    커서를 한줄 아래로 이동한다.
    k
    커서를 한줄 위로 이동한다.
    l
    커서를 한칸 오른쪽으로 이동한다.
    ^
    커서를 현재 줄의 처음으로 이동한다.
    $
    커서를 현재 줄의 끝으로 이동한다.
    숫자G
    커서를 지정한 숫자의 줄로 이동한다.



    글자입력 상태로
    명령키 설 명
    i
    커서가 있는 위치에서 글자입력 상태가 된다.
    a
    커서의 오른쪽에서 글자입력 상태가 된다.
    I
    현재 줄의 왼쪽 끝에서 글자입력 상태가 된다.
    A
    현재 줄의 오른쪽 끝에서 글자입력 상태가 된다.



    빈 줄의 추가
    명령키 설 명
    o
    현재 줄의 아래쪽에 빈 줄이 생기면서 글자 입력상태가 된다.
    O
    현재 줄의 위쪽에 빈 줄이 생기면서 글자 입력상태가 된다.



    삭제하기
    명령키 설 명
    x
    커서가 있는 한 글자를 삭제한다.
    dd
    커서가 있는 한 줄을 삭제한다.
    dw
    커서가 있는 한 단어를 삭제한다.
    D
    현재 줄의 커서가 있는 곳 부터 줄의 끝까지 삭제한다.



    바꾸기
    명령키 설 명
    r
    커서가 있는 한 글자를 바꾼 후 다시 명령대기 상태가 된다.
    cw
    커서가 있는 한 단어를 바꾼 후 다시 명령대기 상태가 된다.



    메모리 복사(yank)와 붙여 넣기(put)
    명령키 설 명
    숫자yy
    커서가 있는 줄부터 지정된 숫자 만큼의 줄을 메모리에 복사한다.
    Y
    커서가 있는 한 줄을 메모리에 복사한다.
    p
    메모리에 복사되어 있는 내용을 커서가 있는 줄부터 붙여 넣는다.




    2. 명령줄 상태

    명령대기 상태에서 :을 누르면 :으로 시작하는 명령줄 상태가 되고, /를 누르면 /로 시작하는 명령줄 상태가 된다.


    :으로 시작하는 명령줄 상태
    입력 설 명
    :w
    현재 편집 중인 내용을 저장한다.
    :w 파일명
    현재 편집 중인 내용을 지정한 파일명으로 저장한다.
    :q
    vi를 빠져 나간다.
    :q!
    저장에 대한 경고 메세지가 나오지 않도록 하고 vi를 빠져 나간다.
    :wq!
    현재 편집 중인 내용을 저장하고 vi를 빠져 나간다.
    :set numbers
    행의 번호가 표시되게 한다.
    :set nonumbers
    행의 번호가 표시되지 않게 한다.



    /로 시작하는 명령줄 상태
    입력 설 명
    /문자열
    커서의 현재 위치부터 지정한 문자열을 찾아 준다.




    제공: 클루컴 (CLUECOM)

    댓글 없음:

    댓글 쓰기