5장. VI Editor
     

    VI Editor는 UNIX에 기본적으로 내포된 편집기다. 그러므로 UNIX가 설치된 환경에서는 언제든지 사용할 수 있으므로 특별한 소프트웨어를 사용하기보다는 VI Editor에 익숙해질 필요가 있다. 그리고 처음에는 낯설게 느껴지는 것이 당연하지만 사용하다보면 편리한 점을 많이 알 수 있다. 때때로는 마우스로 작업했던 PC용 편집기보다 강력한 기능들이 상당히 많이 있다는 것을 알 수 있을 것이다. 

    5.1 모드 전환방법 

     이 편집기는 명령어 모드와 편집모드로 나뉘게 되는데, VI Editor를 실행시키게 되면 처음에는 명령어모드 이다. 이렇게 모드가 두 가지이면 일반 PC에서 사용하는 편집기는 시작부터 종료까지 편집모드인 것을 감안한다면 VI Editor는 모드가 두 가지이므로 여러 가지 일을 할 수 있는 것임이 틀림없다. 구체적인 명령어는 다음에 기술하겠지만 Esc  키(편집모드에서 명령모드로 전환)를 잘 이용하면 된다.  

    5.2 입력형식  

    # vi index.html 

    5.3 삽입관련 명령어 
    command  
    i : 입력모드로 전환, 커서의 앞에 삽입  
    I :  그 라인의 첫칸에 삽입  
    a : (append)커서의 오른쪽에 새로운 내용을 추가  
    A : 그 라인의 마지막 문자 뒤에 새로운 내용을 추가  
    o : 커서가 있는 행 아래에 새로운 내용을 첨가  
    O : 커서가 있는 행위에 새로운 내용을 첨가  
    mo : move  
    co : copy  

    5.4 삭제관련 명령어 

    dd : 커서가 있는 한줄삭제  
    5dd : 5 라인 삭제  
    x : 커서가 있는 한 문자 삭제  
    dw : 한 단어 삭제  
    dO : 커서 위치로부터 그 라인의 첫 칸까지 삭제  
    d$ : 커서 위치로부터 그 라인의 끝까지 삭제  
    3dw : 3 단어 삭제 

    5.5 치환관련 명령어 

    :r : (replace)커서 위치의 한 문자를 다른 문자로 치환  
    예1) :rb : 커서가 있는 곳의 문자를 b로 치환  
    예2) :4rb : 커서와 커서 오른쪽의 3문자를 b로 바꿈  
    :R : 커서가 위치한 문자를  Esc키를 누를 때까지 대체  
    :cw : 한 단어 치환  
    :3cw : 3단어 치환  
    :C : 커서가 있는 곳으로부터 라인의 끝까지의 문장을 치환  
    :cc : 현재라인 치환  
    예1) :5cc : 5라인 치환  
    :/happy : '/'기호 뒤에 지정한 문자열을 커서가 있는 위치 이후부터 찾아표시  
    :?happy : '?'기호 뒤에 지정한 문자열을 커서가 있는 위치 위쪽으로 가면서 찾아표시  
    :n : (next) '/' 나 '?' 탐색명령을 사용한 다음에 발견한 곳으로 진행 

    5.6 검색관련 명령어 

    /and : 커서 이후의 and를 검색, n(계속 검색)  
    /and/- : 라인의 첫칸에 커서가 오게 함 

    5.7 복구관련 명령어 

    : u : (undo) 바로 이전에 실행된 명령어 취소  
    :U : 현재 행에서 사용한 모든 명령을 취소 

    5.8 이동관련 명령어 

     방향키가 듣지 않을 때는 다음의 표를 참조한다. 이에 대응하는 키를 나타내었다.  
       
     h = ← 커서를 한 칸 왼쪽으로 이동  
     j = ↓ 커서를 한 줄 아래로 이동  
     k = ↑ 커서를 한 줄 위로 이동  
     l = → 커서를 한 칸 오른쪽으로 이동  

     ctrl+ f  : (forward)한 쪽 아래로 이동  
     ctrl+ b : (backward)한 쪽 위로 이동  
     ctrl+ d  : (down)반 쪽 아래로 이동  
     ctrl+ u  : (up)반 쪽 위로 이동  
     ctrl+ g  : 커서가 몇째 줄에 있는지 표시  
    :b : 단어의 시작위치로 이동  
    :e : 단어의 끝 부분으로 이동  
    :0 : 행의 시작부분으로 이동  
    :$ : 행의 끝부분으로 이동  
    :nG : (Go)파일 전체에서 n번째 줄로 이동 

    5.9 전환 및 종료 명령어 

    :J : (Join)커서 위치의 줄과 그 뒤의 문장을 연결  
      : 명령어모드로 전환  
    :q : 끝내기  
    :q! : 저장 않고 끝내기 

    5.10 파일관련 명령어 

    :w : 원래의 파일 명으로 쓰기  
    :w filename : 새로운 filename으로 기록  
    :r filename : 지정한 파일로부터 그 내용을 읽어옴  
    :!command : 지정한 명령을 실행  
    :!sh : 새로운 shell을 실행  
    !!command : 명령을 실행하고 커서 라인위치 라인에 output을 출력  
    :e filename : Editor를 끝내지 않고 새 파일을 편집  
    :e# : 다시 복귀  
    wq : 현재의 filename으로 저장하고 끝내기 
     



[ HOME ][ PREV ][ NEXT ]