딩굴댕굴

Linux - 07. Vi 편집기

by jennysgap

BOX

vi 편집기

 VIsual editor의 약자로 UNIX 계열 시스템에 사용되는 전용 편집기

 vi 편집기의 구성

   -> Command mode

        기본모드로 vi 편집기를 시동하면 command mode로 진입함.

        키보드 자판이 입력으로 사용되지 않고, 모두 명령 동작을 수행함.

   -> Editing mode

        편집에 사용되는 모드로 command 모드에서 'i', 'a', 'o'를 누를 경우 진입하는 모드

        편집 종료 시 command mode로 복귀할 때 'esc'키를 누른다.

   -> Last line mode

        last line mode는 command mode 단점인 명령을 위한 옵션이나 기능 입력이

        불가능한 것을 해결하기 사용하는 모드로 사용자가 명령을 직접 입력할 수 있음.

        <Enter>를 누를 경우 자동적으로 command mode 복귀가 가능


• 편집 상태

     i  :  insert 커서위치부터 편집을 시작

     a :  append 커서 위치의 다음부터 편집을 시작

     o :  open line 커서 위치의 다음 줄 부터 편집을 시작

     :r  <file_name> : 편집 중인 파일에 다른 파일 삽입.


 방향키

     h : 좌측으로 이동

     j  : 아래로 이동

     k : 위로 이동

     l  : 우측 이동

     $ : 커서 위치 라인에서 마지막 글자

     ^ : 커서 위치 라인에서 첫글자로 이동

     0 : 커서 위치 라인에서 첫번째 시작점으로 이동

     숫자G : 해당 라인으로 이동. 숫자를 생략하면 자동적으로 문서의 마지막 라인으로 이동.

     :숫자  : 숫자 라인으로 이동


• 텍스트 변경

      R : Replace 커서가 있는 줄의 텍스트를 교체.

      C : Clear 커서가 있는 줄의 텍스트를 모두 삭제하고 새롭게 입력.

      s  : Substitution 커서가 있는 위치에 단어 등을 대체

      x  : Delete

      X  : Backspace

     숫자dw : delete word 단어를 삭제할 때 사용, 숫자를 생략할 경우 커서위치의 한단어 삭제

     숫자dd  : delete line 라인을 삭제할 때 사용, 숫자를 생략할 경우 커서위치의 1개의 라인만 삭제

    :라인번호,라인번호d : last line 모드에서 라인 삭제 시 사용. 라인번호를 사용.

     * D : 커서 위치에서 뒤쪽으로 해당 라인의 모든 문자를 삭제.

     숫자cw : Change Word

     r : replace only one character 커서위치의 단 한글자만 교체

     J : join 커서위치의 라인과 그 다음을 합병할 때 

     xp : 커서위치의 글자와 그 다음 글자의 위치 바꿀때 사용.

     u : undo 바로 이전 실행 명령 취소

     U : undo 해당 라인 전체에 실행 명령 취소

     :u : last line 모드에서 실행한 명령 취소

  

 검색 및 대치

      /pattern : 순방향 검색

      n            : 순방향 연속 검색

      N           : 역방향 연속 검색

     :라인번호 , 라인번호 s /검색할패턴/변경할패턴/  : 라인부터 라인까지 패턴을 검색한 후 변경할 때 사용하는 명령

 

       * 텍스트의 1~마지막라인까지 작업 할 경우 라인번호 대신 %를 사용하면 전체 텍스트에 대한 작업이 가능.

       * 작업이 실행되면 라인에 같은 패턴이 1개 이상 존재할 경우 앞에 있는 패턴만 변경. 

          -> 라인전체에 같은 패턴을 모두 바꿀 경우 옵션을 사용 ":%s/pattern/change/g"  'g' global 옵션을 사용.

       * :%s/the//g  -> 대체 기능 중 지우는 기능을 실행.

       * :%s/CTRL+v+h.//g  -> CTRL과 v키, h키를 사용하면 특수문자가 생성


• 복사 및 붙이기 명령

       숫자yy  :  yank 커서의 위치를 기준으로 숫자 만큼의 라인을 복사

             p   :  paste 커서 위치를 기준으로 아래쪽으로 붙이기

             P   :  paste 커서 위치를 기준으로 윗쪽으로 붙이기

       :1,3 co 5 : 1~3라인까지 복사해서 5라인 이후에 붙이기

       :1,3 m 5 : 1~3라인까지를 5 라인 이후로 옮김


• 저장 및 종료

       :x  : 저장하고 종료

       :q  : 종료 (수정 관련 작업을 하지 않은 경우만 사용 가능)

       :q! : 작업 내용 무시하고 종료하기

       ZZ : 저장하고 종료

       :w <file_name> : 새로운 이름으로 저장.

       * read only을 저장하는 방법(속성값 무시)

        : wq!  : 파일이 가진 read only 속성을 무시하고 저장하기(root 사용자만 사용 가능)


• 사용자 정의형 편집기 설정(last line 모드에서 진행)

       set   :  현재 설정된 환경

       set all : 현재 설정 및 설정할 수 있는 값 정보

       set number : 라인에 번호를 출력

       set nonu : 라인번호 설정 해제

       set list  :  조판 부호 보기

       set nolist : 조판 부호 보기 해제

       set autoindent : 자동 들여쓰기

       set tabstop=4  : tab공간을 space 4칸으로 설정

       ab abc Classify,BreakingClass  : 문자 매크로 지정 abc를 입력하시면 자동적으로 뒤의 긴 문자열로 변경


반응형

블로그의 정보

jennysgap

jennysgap

활동하기