ABOUT ME

-

Today
-
Yesterday
-
Total
-

  • [Unix/Linux] VI 에디터 초심자를 위한 필수 명령어 정리
    개발자 레퍼런스 2010. 1. 14. 23:41
    반응형
    VI 에디터는 윈도우로 본다면 울트라 에디트와 비교할 수 있을만큼 콘솔상에서 강력한 편집기능을 갗춘 텍스트 편집기 이다.
    또한, 유닉스(Unix) 혹은 리눅스(Linux)를 주로 사용하는 개발자에겐 반드시 익혀야 할 필수적인 것이기도 하다.

    그러나 윈도우에 익숙한 유저일 수록 처음 접해보면 익숙하지 않는 환경과 명령어 체계가 완전히 다른것에 답답함을 느껴 사용을 포기할 정도로 조금은 다른 녀석이라 할 수 있고 기능이 강력한만큼 처음 들어가보면 명령어가 너무 많아 솔직히 헷갈린다. 

    이런 생각에 공감하는 처음 VI에디터를 접하는 분들을 위해 필수 명령어라 생각되는 것을 정리해 보았다.

    VI 에디터에는 명령모드, 입력모드, 콜론모드의 3가지 모드가 있다.
    그러므로 윈도우의 에디터 편집기와는 다르게 필요한 기능을 위해서는 모드를 전환해야 한다.

    * 명령(편집) 모드
    다양한 편집기능을 적용할 수 있는 모드이다. 입력모드에서 ESC키(콜론모드에서 엔터)를 눌러 전환. 

    * 입력(텍스트) 모드
    데이터를 입력하는 에디팅을 위한 모드이다. 명령모드에서 특정키를 눌러 전환.

    * 콜론 모드
    편집을 끝낸 VI에디터의 저장 및 종료를 위한 모드이다. 명령모드에서 콜론(:)을 눌러 전환.

    솔직히 VI 에디터에 익숙하지 않는 사용자가 처음 보았을때 명령어의 종류가 너무 많아 헷갈린다.

    그러니 다 필요없고
     이것만 외우면 무리없이 편집이 가능한 핵심적이고 자주 사용되는 주요 명령어만 모드별로 정리해 보겠다.


    * 입력(텍스트) 모드

    입력모드는 (당연히)별다른 명령키가 없다.
    그냥 입력하고 글쓰다 틀리면 (방향키나 백스페이스 누르지말고 침착하게) 명령(편집)모드로 전환해서 수정한다.


    * 명령(편집)모드

    - 화살표키로 이동가능, 엔터키로 다음라인 이동.

    i

    현재 문자 앞에서부터 입력

    dw

    한 단어 삭제

    I

    현재 문장 앞에서부터 입력

    dd

    한 라인 삭제

    a

    현재 문자 뒤에서부터 입력

    x

    한 문자 삭제

    A

    현재 문장 뒤에서부터 입력

       u

    취소

    o

    현재 행의 아래 행 추가후 입력

    X

    커서위치의 앞 글자 삭제

    O

    현재 행의 위 행 추가후 입력

    x

    커서위치의 뒷 글자 삭제

    G

    파일의 마지막 행으로 이동

    dd

    커서가 있는 줄을 삭제

    [ctrl]+F

    한 화면 앞으로 이동

    [ctrl]+B

    한 화면의 뒤로 이동

    [ctrl]+D

    한 화면의 반만큼 앞으로 이동

    [ctrl]+U

    한 화면의 반만큼 뒤로 이동




    * 콜론 모드

    :0(숫자)

    문서의 맨앞으로 이동

    :$

    문서의 맨뒤로 이동

    :ZZ or :wq

    저장하고 vi 에디터 종료

    :q!

    저장하지 않고 vi 에디터 강제종료



    이것만 알아도 별 무리없이 VI에디터로 편집이 가능하다.



    아래는 그외 어떤 명령어가 있는지 무지 궁금한 분들을 위해 전체 명령어를 대략 정리한 것으로 굳이 알 필요는 없으니 위에 소개한 필수 명령어가 익숙해져 심심한 분들만 보면 되겠다.

    여기서 부터는 옵션이니 필요한 분들만 보세요. ^^

    vi 에디터 저장/종료
     :w   수정된 문서를 저장할 때 사용합니다.
     :q  수정되지 않은 문서를 종료할 때 사용합니다.
     :wq  수정된 문서를 종료할 때 저장하고 종료합니다.
     :q!  수정된 문서를 종료할 때 저장하지 않고 종료합니다.

     
    vi 에디터 입력모드 전환 명령
     i           현재 커서의 이전에서 입력모드로 전환합니다.
     a  현재 커서의 다음에서 입력모드로 전환합니다.
     o  현재 커서의 아래 줄에 한 줄 삽입하고 입력모드로 전환합니다.
     s  현재 커서의 문자를 삭제하고 입력모드로 전환합니다.
     I  현재 커서가 있는 행의 처음에서 입력모드로 전환합니다.
     A  현재 커서가 있는 행의 마지막에서 입력모드로 전환합니다.
     O  현재 커서의 윗 줄에 한 줄 삽입하고 입력모드로 전환합니다.
     S  현재 커서가 있는 행을 삭제하고 입력모드로 전환합니다.
     cw  현재 커서가 위치한 문자부터 그 단어의 마지막 문자까지 지우고 입력모드로 전환합니다.
     cc  현재 커서가 위치한 행을 지우고 입력모드로 전환합니다.
     C  현재 커서가 위치한 문자부터 그 행의 마지막 문자까지 지우고 입력모드로 전환합니다.
     R  현재 커서가 위치한 문자부터 수정모드로 전환합니다.

     
    vi 에디터 이동 명령
     화살표 키
     (→←↑↓)
     방향에 따라 한 칸/줄 씩 이동합니다.(공백포함)
     w  현재 커서가 위치한 다음 단어의 첫 문자로 커서를 이동합니다.(공백제외)
     b  현재 커서가 위치한 이전 단어의 첫 문자로 커서를 이동합니다.(공백제외)
     e  현재 커서가 위치한 단어의 마지막 문자로 커서를 이동합니다.
     )  현재 커서 다음 행의 첫 문자로 커서를 이동합니다.
     현재 커서 위치가 마지막 행일 경우 마지막 문자 다음으로 이동합니다.(공백제외)
     (  현재 커서가 위치한 행의 첫 문자로 커서를 이동합니다.
     현재 커서 위치가 첫 문자일 경우 이전 행의 첫 문자로 이동합니다.(공백제외)
     + or Enter  현재 커서 다음 행의 첫 문자로 커서를 이동합니다.(공백제외)
     -  현재 커서 이전 행의 첫 문자로 커서를 이동합니다.(공백제외)
     0  현재 커서가 위치한 행의 첫 문자로 커서를 이동합니다.(공백포함)
     $  현재 커서가 위치한 행의 마지막 문자로 커서를 이동합니다.
     ^  현재 커서가 위치한 행의 첫 문자로 커서를 이동합니다.(공백제외)
     H  현재 화면에 보이는 부분 중에서 가장 위에 있는 행 첫 문자로 이동합니다.(공백제외)
     M  현재 화면에 보이는 부분 중에서 가운데에 있는 행 첫 문자로 이동합니다.(공백제외)
     L  현재 화면에 보이는 부분 중에서 가장 아래에 있는 행 첫 문자로 이동합니다.(공백제외)
     G  현재 문서 가장 마지막 행의 첫 문자로 이동합니다.(공백제외)
     Ctrl+f  다음 화면으로 한 화면 씩 스크롤 시킵니다.
     Ctrl+b  이전 화면으로 한 화면 씩 스크롤 시킵니다.
     Ctrl+d  다음 화면으로 반 화면 씩 스크롤 시킵니다.
     Ctrl+u  이전 화면으로 반 화면 씩 스크롤 시킵니다.
     Ctrl+e  다음 줄로 한 줄 씩 스크롤 시킵니다.
     Ctrl+y  이전 줄로 한 줄 씩 스크롤 시킵니다.
     }  다음 문단으로 이동할 때 공백으로만 구성된 행 중에서 처음 만나는 행으로 커서를 이동합니다.
     {  이전 문단으로 이동할 때 공백으로만 구성된 행 중에서 처음 만나는 행으로 커서를 이동합니다.
     숫자+ㅣ  현재 커서가 위치한 행에서 숫자에 해당하는 열로 이동합니다.(공백포함)
     :+숫자+Enter  숫자에 해당하는 행으로 이동합니다.

     
    vi 에디터 삭제 명령
     x  현재 커서 다음 문자를 삭제합니다.
     X  현재 커서 이전 문자를 삭제합니다.
     dw  현재 커서가 위치한 문자부터 그 단어의 마지막 문자까지 삭제합니다.
     숫자+dw  현재 커서가 위치한 문자부터 숫자만큼의 단어를 삭제합니다.
     dd  현재 커서가 위치한 행을 삭제합니다.
     숫자+dd  현재 커서가 위치한 행부터 숫자만큼의 행을 삭제합니다.
     D  현재 커서가 위치한 문자부터 그 행의 마지막 문자까지 삭제합니다.

      
     vi 에디터 편집 명령
     yw  현재 커서가 위치한 문자부터 그 단어의 마지막 문자까지 복사합니다.
     숫자+yw  현재 커서가 위치한 문자부터 숫자만큼의 단어를 복사합니다.
     yy  현재 커서가 위치한 행을 복사합니다.
     숫자+yy  현재 커서가 위치한 행부터 숫자만큼의 행을 복사합니다.
     p  복사한 내용을 현재 커서 다음에 붙여넣기 합니다.
     P  복사한 내용을 현재 커서 이전에 붙여넣기 합니다.
     u  키를 누를 때 마다 실행을 취소합니다.
     r+문자  현재 커서의 문자를 입력한 문자로 바꿔줍니다.


    이상 "VI 에디터 쉬운 사용을 위한 필수 명령어 정리" 였습니다.
    반응형

    댓글

Designed by Tistory.