리눅스

vi 에디터 단축키

데굴데구르르 림 2019. 6. 26. 14:06
728x90

vi가 중요한 에디터로 취급되는 이유 중의 하나는 다양한 기종의 입출력 장치에 의한 예외적인 상황에 대해서도 이를 수용할 수 있는 기능을 갖고 있었기 때문이다. 

vi는 BSD의 설계 기준에 따라서 환경 설정을 통해 적절한 형태로 문제에 대처할수 있도록되어 있으며,시스템 명령어들을 에디터 안에서 실행시킬 수 있도록 운영체제와 직접 연결된 형태로 작성이 되었기 때문에 관련 작업들을 보다 효율적으로 처리할수 있다. 

예외적인 상황에 대한 대처 능력과 운영체제와 연결되어 있다는 특성은 vi가 시스템 복구 도구로 사용할수 있다는 것을 의미한다. 이러한 이유때문에 유닉스 운영체제들은 vi를 기본 에디터로 채용하고 있으며, 리눅스도 vi를 중요한 시스템 운용도구로 사용하고 있다. 

vi는 입력모드(insert mode)와 명령어 모드(commamd mode)그리고 라인 모드(line mode)의 세가지 형태로 구성되어 있다. 
처음 실행시키면 명령모드에서 실행되며 입력모드로 전환하여 텍스트 작업을 하게된다. 
명령모드에서 입력모드로 전환한 뒤 다시 명령모드로 들어가기 위해서는 ESC키를 누르면 된다. 
 

  1. 입력모드로의 전환 
    a 커서의 오른쪽에서 입력을 받음
    A 라인의 마지막에서 입력을 받음
    i 커서의 왼쪽에서 입력을 받음
    o 현재 라인 아래 빈 라인을 추가하여 입력을 받음
    O 현재 라인 위에서 빈 라인을 추가하여 입력을 받음
  2. ex 명령모드 
    ex 명령모드로 전환을 하기 위해서는 명령모드에서 " : " 을 입력하면 커서가 화면 아래로 
    이동하며 " : " 를 나타내고 대기 상태로 들어간다. 이 형태가 ex명령모드이다. 
    :q vi종료(저정하지 않은 문서는 종료되지 않는다.)
    :q! 저장하지 않고 vi 종료
    :w 문서의 저장
    :x 문서 저장 후 종료(명령모드에서 zz와 같음)
  3. 명령모드 
    명령모드에서는 커서 이동,편집 등과 같은 작업을 할 수 있다. 
    h <- (방향키 왼쪽)
    l -> (방향키 오른쪽)
    k 방향키 위쪽
    j 방향키 아래쪽
    e 한 단어 뒤로 이동
    b 한 단어 앞으로 이동
    ^b 한 페이지 위로 이동
    ^f 한 페이지 아래로 이동
    ^u 반 페이지 위로 이동
    ^d 반 페이지 아래로 이동
    0 해당 라인 맨 앞으로 이동
    $ 해당 라인 맨 끝으로 이동
    x 현재 커서 문자 삭제(del)
    X 현재 커서 앞 문자 삭제(Backspace)
    dd 커서가 위치한 라인 삭제
    dw 한단어 삭제
    yy 현재 라인을 yank(copy)한다.
    p 카피한 라인을 커서가 있는 라인 아래에 붙인다.(Paste)
    r 커서가 위치한 글자를 바꾼다.
    cw 한단어를 바꾼다.
    cc 커서가 위치한 한 줄을 바꾼다.
    J 커서가 있는 라인과 아래 라인을 합한다.
    ^g 편집하고 있는 문서에 대한 정보를 화면 하단에 출력한다.
    U 해당 라인에 행한 작업을 취소한다.
    . 방금한 작업을 되풀이 한다.
    zz 현재 라인을 화면 중간에 오도록 한다.
    탭 삽입 >5> 커서 이하 5줄에 탭 삽입 <5< 커서 이하 5줄에 탭 삽입

    각 명령은 조합이 가능하다. 
    예) 커서 이하5줄 카피 : 명령모드에서 y,5,j 라고 하면 5라인이 복사된다.

기억력이 예전같지 않아... 자꾸 단축키를 잊어버린다.

 

 

ㅊㅊ : http://blog.naver.com/parkjjh/30026965103

[출처] vi 에디터 단축키|작성자 엑셀전개