vi 구조 

     

    명령 모드

    vi 파일명으로 시작 방향키를 사용해서 커서 이동

    dd : 한 줄 삭제 yy : 한 줄 붙여 넣기 x : 글자 하나 삭제

     

    입력 모드

    i나 a명령을 통해서 입력 모드로 이동

    ESC : 명령 모드 복귀

     

    마지막 행 모드

    명령 모드에서 : <- 입력 

    :______ 에서 

    wq : 저장 종료

    q : 종료

     


    vi 명령어

    명령 모드

    vi 파일명 입력 직후 상태

    vi 명령어 동작 
    i - 현재 커서 위치 삽입 (입력모드로 넘어감) 
    a - 현재 커서 바로 다음위치 삽입 (입력모드로 넘어감) 
    o - 현재 줄 다음 위치에 삽입 (입력모드로 넘어감)
    x - 커서가 위치한 곳의 글자 1개 삭제. (5x : 문자 5개 삭제) 
     dw - 커서가 위치한 곳에서 부터 단어 삭제 (커서가 위치한 곳 부터 띄어쓰기 까지)
     dd - 커서가 위치한 곳의 한 줄 삭제 (삭제이지만, p로 복구가능)
     u - 방금 한 명령 취소 (ctrl + z)
     yy - 현재 줄을 버퍼로 복사 (한 줄을 ctrl + c 한다고 생각하면 됩니다.)
    - 5줄 복사 : 5yy 
     p - 현재 커서가 있는 줄 바로 아래에 버퍼 내용 붙여넣기 (이전에 복사한 줄을 현재 커서 아래부터 ctrl + v 한다고 생각하면 됩니다.)
    - 5dd를 이용해서 다섯줄을 지운 것도 p 한번으로 붙여넣기 가능합니다.
    - 그렇다면 : 잘라내기 dd -> 붙여넣기 p
     (N)dd - N 행 삭제 (삭제가 되는 것 처럼 보이지만 실제로는 버퍼에 들어가 있습니다. 버퍼에 들어가 있기 때문에 p를 이용해서 붙여넣기 가능)
    - 잘라내기 라고 생각하면 됩니다. (ctrl + x)
    - vi에서 여러줄을 삭제하고 싶다면 (N)dd 를 사용하면 됩니다. (N에는 숫자가 들어갑니다)
    k - 위로! (커서가 한 줄 위로 올라감.)
    j - 아래로! (커서가 한 줄 아래로 내려감)
    l - 오른쪽으로! (커서가 한칸 우측으로감)
    - 엘 입니다
    h - 왼쪽으로! (커서가 한칸 좌측으로감)
    0 - 커서가 있는 줄의 맨 앞으로 감 (home 키라고 생각하면 됩니다)
    - 숫자 0(영) 입니다.
    $ - 커서가 있는 줄의 맨 뒤로 감 (end 키라고 생각하면 됩니다)
    ( - 현재 문장의 처음
    ) - 현재 문장의 끝
    { - 현재 문단의 처음
    } - 현재 문단의 끝
    숫자- - 숫자 만큼 윗 줄로 이동
    숫자+ - 숫자 만큼 아래 줄로 이동
    G - 파일의 끝으로 이동.
    - 대문자로 사용해야합니다. (Shift + g)
    r - 한 문자 변경 
    cc - 커서가 있는 그 줄의 내용 변경

     

    마지막 행 모드

    esc 누르고, 콜론( : )을 누르면 나오는 상태

     vi 명령어 동작 
    w - 현재 파일명으로 파일 저장. (저장만 함 꺼지지는 않음) 
    w [파일명] - 입력한 파일명으로 파일 저장. (저장만 함 꺼지지는 않음)
    q - vi 종료 (저장되지 않음)
    q!  - vi 강제 종료 ( ! 가 붙으면 강제로 수행)
    wq - 저장 후 종료 
    wq! - 강제 저장 후 종료 ( ! 가 붙으면 강제로 수행) 
    f [파일명] - 파일이름을 [파일명]으로 변경
    - 예시 : f abc.txt
    숫자  - 해당 라인으로 커서 이동
    $ - 파일의 맨 끝 줄로 이동 
    e! - 마지막 저장 이후 모든 편집 취소 
    /문자열 - 현재 커서 위치에서 부터파일 앞쪽으로 문자열 탐색
    ?문자열 - 현재 커서 위치에서 부터 파일 뒤쪽으로 문자열 탐색 
    set nu - vi 라인 번호 출력
    set nonu - vi 라인 번호 출력 취소 

    vi 자주 사용하는 명령어

    > 명령 모드 (esc 눌렀을 때, vi 처음 들어갔을 때)

    1. 파일의 끝으로 이동할 때는 - G

    2. 한 줄 잘라내기 - dd

    3. 세줄 잘라내기 - 3dd

    4. 붙여 넣기 - p

    5. 한 글자 삭제 - x

    6. 단어 삭제 - dw

    7. 실행 취소! - u

    8. 줄의 맨 앞 - o

    9. 줄의 맨 뒤 - $

     

    > 마지막행 모드 (esc -> : 눌렀을 때)때)

    ! -> 강재 실행

    1. 저장만 : w

    2. 종료만 : q

    3. 저장 후 종료 : wq

    4. 라인 번호 좀 보자 : set nu

    5. 커서 위치 뒤로 문자열 좀 찾기 : ? 문자열

    6. 커서 위치 앞으로 문자열 찾기 : /문자열

     


    vi 흐름파악

    - vi abc.txt 명령으로 창 열기

    - 방향키랑 i , a , 이용해서 편집 모드로 들어가서 편집

    - 이러다가 잘라낼 때는 그 위치에서 esc -> dd 눌러서 한 줄 자르기

    - 붙여 넣을 위치의 윗줄에서 p 눌러서 붙여 넣기

    - 또다시 i, a 이용해서 편집 모드 

    - 오타가 나오거나 하면 esc -> x 눌러서 글자 없애고 다시 i, a 이용해서 편집 모드로 편집

    - 다 작성하면 esc -> 콜론 (:) 누르고 -> wq 입력 후 엔터 치면 저장 후 종료





    출처: https://blockdmask.tistory.com/25 [개발자 지망생] 

    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기
    loading