::: 온라인메뉴얼 (Linux 이용자) >> Linux 사용하기 > VI 편집기 사용하기
처음시작하기
SiteControl 사용하기
SiteMail 사용하기
디렉토리 안내
홈페이지 올리기
이메일 사용하기
보안서버, 보안텔넷
CGI스크립트 사용하기
Database 사용하기
RealAudio / Video /
       채팅방 사용하기
웹사이트 관리하기
네임서버 변경법
호스팅 사용 가능시간     
CGI 프로그래밍 가이드
Linux 사용하기
       Linux란 무엇인가?
       Linux 기본명령어
       VI 편집기 사용하기
 
 

VI편집기 사용하기


VI 편집기는 emacs와 더불어 유닉스에서 사용하는 표준편집기입니다.
리눅스 서버에 ssh 로 접속을 한 이후에 vi 명령어가 사용이 가능 합니다.
이미 존재하는 파일을 수정 할때는 vi 파일명 하시면 됩니다. 신규 파일을 만들고자 할때도 vi
신규화일명 하시면 새로운 파일이 생성 됩니다.

Vi 의 특징은 입력모드와 명령모드가 있습니다.
일반적으로 화면에 입력한 글이 실제 입력이 되는 상태를 입력 모드라고 합니다.
이때 ESC 키를 입력을 하게 되면 명령모드로 변경이 되면서 각종 명령을 할 수 있습니다.
모든 명령어는 대소문자를 구분합니다.




  입력명령

    a 커서 위치의 다음 칸부터부터 끼워넣기
    A 커서가 있는 줄의 끝에서부터 끼워넣기
    i 커서 위치부터 끼워넣기
    I 커서가 있는 줄의 맨 앞에서부터 끼워넣기
    o 커서 바로 아래에 줄을 만들고 끼워넣기
    O 커서 바로 위에 줄을 만들고 끼워넣기

    아래는 실제 vi 편집기에서 입력중일 때 화면캡쳐한 것입니다. 입력모드 일때는 아래에 insert 라고 표시가 됨을 알수 있습니다.


  이동명령

    이동명령은 명령모드에서 입력을 해야 합니다.
    즉 입력모드에서 ESC 키를 입력하여 명령모드로 전환후 사용하시면 됩니다.

    h 한칸 왼쪽으로 이동
    j 한줄 아래로 이동
    w 다음 단어의 첫 글자로 이동
    b 이전 단어의 첫 글자로 이동
    e 단어의 마지막 글자로 이동
    ^ 그 줄의 첫 글자로 이동
    0 그 줄의 처음으로 이동
    + 다음 줄의 첫 글자로 이동
    ( 이전 문장의 첫 글자로 이동
    { 이전 문단으로 이동
    l 한칸 오른쪽으로 이동
    k 한줄 위로 이동
    W 다음 단어의 첫 글자로 이동
    B 이전 단어의 첫 글자로 이동
    E 단어의 마지막 글자로 이동
    $ 그 줄의 마지막 글자로 이동
    <CR> 다음 줄의 첫 글자로 이동
    - 윗줄의 첫 글자로 이동
    ) 다음 문장의 첫 글자로 이동
    } 다음 문단으로 이동

  수정명령

    입력되어 있는 글을 수정할 때 명령모드에서 수정명령을 내리고 수정을 할 때 사용합니다.

    r 커서 위치의 한 글자 교체
    R 커서 위치부터 <ESC>를 누를때까지 다른 글자로 교체
    s, cl 커서 위치의 글자를 한개를 여러 글자로 교체
    ch 커서 바로 앞의 글자를 한개를 여러 글자로 교체
    cw 커서 위치의 한 단어를 교체
    c0 커서 위치부터 줄의 처음까지 교체
    C, c$ 커서 위치부터 줄의 끝까지 교체
    cc 커서가 있는 줄을 교체
    cj 커서가 있는 줄과 그 다음 줄을 교체
    ck 커서가 있는 줄과 그 앞줄을 교체

삭제명령

    글을 한글자, 한단어, 한줄, 전체 삭제등 삭제 할 때 사용하는 명령어 입니다.

    x, dl 커서 위치의 글자 삭제
    X, dh 커서 바로 앞의 글자 삭제
    dw 한 단어를 삭제
    d0 커서 위치부터 줄의 처음까지 삭제
    D, d$ 커서 위치부터 줄의 끝까지 삭제
    dd 커서가 있는 줄을 삭제
    dj 커서가 있는 줄과 그 다음 줄을 삭제
    dk 커서가 있는 줄과 그 앞줄을 삭제
    dG 커서가 있는 줄부터 문서 마지막까지 삭제

복사 및 붙여 넣기 명령

    단어 혹은 줄단위로 복사를 하여 원하는 위치에 붙여 넣을 때 사용하는 명령어 입니다.

    yw 커서 위치부터 단어의 끝까지 복사
    y0 커서 위치부터 줄의 처음까지 복사
    y$ 커서 위치부터 줄의 끝까지 복사
    yy 커서가 있는 줄을 복사
    5yy 커서가 있는 줄부터 5줄을 복사
    yj 커서가 있는 줄과 그 다음 줄을 복사
    yk 커서가 있는 줄과 그 앞줄을 복사
    p 커서의 다음 위치에 붙여넣기
    P 커서가 있는 위치에 붙여넣기

기타 명령

    주로 많이 사용하는 일반 명령어 들입니다.

    u 작업 취소(undo)
    U 그 줄에 행해진 작업 모두 취소
    Ctrl+r 작업 재실행(redo)
    . 조금 전에 했던 명령을 반복
    J 현재 줄과 아래 줄을 연결
    ~ 대문자를 소문자로, 소문자를 대문자로 바꿈
    % 괄호의 반대쪽 짝으로 이동
    Ctrl+l 현재 화면을 지우고 다시 그림
    Ctrl+g 파일에 관한 정보를 표시

화면 이동 명령

    화면 이동 명령은 기존의 h,j,k,l 등으로 한칸씩 움직이기에는 시간이 많이 소요 될 때 한꺼번에 많은 화면 이동이 필요할 때 유용합니다.

    H 커서를 화면의 맨 위로
    M 커서를 화면의 중앙으로
    L 커서를 화면의 맨 아래로
    [n]H 커서를 위에서 [n]번째 줄로
    Ctrl+u 반 화면 위로 스크롤
    Ctrl+d 반 화면 아래로 스크롤
    gg, 1G 문서의 맨 처음 줄로
    [n]G [n]번째 줄로 이동
    z<CR> 현재 줄을 화면의 맨 위로
    z. 현재 줄을 화면의 중앙으로
    z- 현재 줄을 화면의 맨 아래로
    [n]L 커서를 아래에서 [n]번째 줄로
    Ctrl+b 한 화면 위로 스크롤
    Ctrl+f 한 화면 아래로 스크롤
    G 문서의 맨 마지막 줄로

    원하는 줄로 이동이 되었는지 확인 하기 위해서는 옵션중에 number 를 켜면 됩니다.
    :set nu 를 입력하시면 문서 좌측에 줄 번호를 볼수 있습니다.
    해제하시려면 :set nonu 라고 입력하시면 됩니다.



검색 명령

    글의 내용중 원하는 단어를 검색하고자 할 때 사용합니다.

    /[pattern]<CR> 현재 위치에서부터 아래 방향으로 패턴 검색
    ?[pattern]<CR> 현재 위치에서부터 위쪽 방향으로 패턴 검색
    n 검색하던 방향으로 계속 패턴 검색
    N 검색하던 반대 방향으로 계속 패턴 검색


치환(교체) 명령

    어떤 단어를 다른 단어로 변경할 때 사용하는 명령 입니다.

    :s/old/new<CR> 현재 줄의 처음 old를 new로 교체
    :s/old/new/g<CR> 현재 줄의 모든 old를 new로 교체
    :1,20s/old/new/g<CR> 1부터 20번째 줄까지 모든 old를 new로 교체
    :-2,+4s/old/new/g<CR> 커서 2줄 위부터 4줄 아래까지 old를 new로 교체
    :%s/old/new/g<CR> 문서 전체에서 old를 new로 교체
    :%s/old/new/gc<CR> 문서 전체에서 old를 new로 확인하며 교체


파일관련 명령

    파일을 저장하거나, 불러 올 때 사용하는 명령입니다.

    :q<CR> vi를 종료함
    :w<CR> 편집중인 문서를 저장
    :w [file]<CR> 편집중인 문서를 [file]로 저장
    :w >> [file]<CR> 편집중인 문서를 [file]에 덧붙여서 저장
    :e [file]<CR> [file]을 불러옴
    :e#<CR> 이전에 편집하던 파일을 불러옴
    :e%<CR> 현재 파일을 다시 불러옴, 즉 저장하지 않은 작업 취소
    :r [file]<CR> [file]을 커서위치에 끼워넣기

    파일에 쓰기 권한이 없을 때 저장을 하고자 할 때에
    'readonly' option is set (use ! to override) 라는 메시지가 출력이 되면서 저장이 안되는 경우가 있습니다. 이때는 강제 옵션인 ! 를 추가로 붙여 주면 됩니다.