본문 바로가기

전공 과목 시험정리/운영체제 기초

리눅스 VI 편집기

vi 편집기

 - 각종 문서를 편집할 수 있는 텍스트 기반의 편집기로써 유닉스 계열(리눅스 포함)의 운영체제에서 사용하는 편집기 (윈도우의 메모장)

 - 켈리포니아 대학의 대학원생 Billy Joy가 라인 편집기인 ed(UNIX Line Editor)를 새롭게 개선해 개발한 석으로 UNIX 3.0 BSD 에서 발표될 떄 'C Shell'과 함께 추가된 프로그램

 - 화면 단위로 프로그램이나 파일을 편집할 수 있도록 80문자의 20개 라인 정도로 나타내며, 사용자는 커서를 이동시키면서 파일의 내용을 수정

 - 입력모드(insert mode), 명령모드(command mode), 라인모드(line mode)의 세 가지 모드로 구분


 명령모드 <--> 입력모드 : i or a

 입력모드 <--> 명령모드 : Esc

 명령모드 <--> 라인명령모드 : ':' (콜론)


모드별 설명

 1. 입력모드 

  - 입력을 원하는 글자를 입력하고, 화면은 입력한 상태를 그대로 보여주는 모드

 

 2. 명령모드

  - 한 글자 또는 두 글자 명령을 사용하여 커서를 이동하고 글자를 삭제 및 교체하고, 문자열을 검색하는 모드로 다양한 편집을 가능하게 하는 모드

  - 명령이 아닌 키보드 입력은 모두 에러처리 되며, 리눅스에서 '삑' 하는 소리로 잘못된 입력이라는 것을 알려줌


 3. 라인모드

  - Esc 키를 누르고 콜론(:) 프롬프트에서 명령을 입력하여 저장,편집,검색 기능등 다양한 기능을 제공하는 모드

  - 명령모드에서 입력모드로 바꿔야 새로운 문자의 입력이 가능

  - 글쓰기를 할 때는 반드시 A 또는 I 키를 눌러 입력모드로 바꿔야 하며, 명령모드로 되돌아오려면 Esc 키를 누름

  - 일반 문서 편집기 처럼 자동 저장하는 기능이 없어서 자주 입력 내용을 저장해 주어야 함.


입력모드로 가는 명령어 종류


   종류            내용

    a  현재 위치의 다음부터 입력 시작

    A  현재 줄의 끝에서 부터 입력 시작

    i  현재 위치의 앞에서 부터 입력 시작

    I  현재 줄의 처음에서 입력 시작

    o  현재 줄과 다음 줄 사이에 입력 시작

    O  현재 줄과 앞줄 사이에 입력 시작


편집기의 사용 방법

 1. 편집기의 실행과 종료

  - 편집기의 입력 모드 명령

    [sunrin@localhost ~]$ vi [file_name]  or [sunrin@localhost ~]$ vi


  - 실행시키면 커서는 맨 위에 나타나고, 하단에 상태표시가 나타남


명령모드에서 명령어 종류 (콜론 누르고 쓰는 명령어)


 명령어            내용

  :q    그대로 종료

  :q!   변경된 내용을 저장하지 않고 종료

  :wq   변경된 내용을 저장하고 종료

  :x    변경된 내용을 저장하고 종료

  ZZ    변경된 내용을 저장하고 종료


  - 아무런 내용이 입력되지 않았으면 Esc 를 누른 후 ':q' 를 입력하면 바로 종료

  - 입력한 내용이 있는 경우 Esc 를 누르고 ':q'를 입력하게 되면 버퍼에 입력한 문자가 남아있어 화면 맨 아래 경고 문구가 출력되며 종료되지 않는다.

  - 저장하지 않고 마치고자 한다면 ':q' 뒤에 '!'를 사용한다

  - '!'는 강제로 그 명령을 수행한다는 뜻.

 

 2. 파일 불러오기와 저장하기 

  - vi 편집기의 파일 불러오기 명령

   명령어                              내용

    :r [file_name] 지정한 파일의 내용을 현재 커서가 있는 줄 다음에 불러옴

    vi [file_name] 편집기를 시작할 때부터 특정 파일을 불러와서 시작


 - vi 편집기의 파일 저장하기 명령

    명령어                            내용

     :w               문서의 내용을 현재 파일에 저장

     :w [file_name]   문서의 내용을 지정하는 파일에 저장

     :w! [file_name]  문서의 내용을 지정하는 파일에 저장 (이미 있는 파일에 덮어씀)

 3. vi 편집기 커서 이동 명령 (명령모드에서 사용합니다.!!)

  - 기본 커서 이동 방법

    

   입력키  내용

     h   커서를 한 칸 왼쪽으로 이동  

     j   커서를 한 줄 아래로 이동 

     k   커서를 한 줄 위로 이동

     l   커서를 한 칸 오른쪽으로 이동


  - 단어 단위 커서 이동 방법

   입력키               내용

    b,B    커서를 이전 단어의 첫 글자로 이동

    e,E    커서를 다음 단어의 끝 글자로 이동

    w,W    커서를 다음 단어의 첫 글자로 이동


  - 라인 단위 커서 이동 방법

   입력키

   -

   +

   <Enter>

   0

   $

   ^


  - 문단 단위 커서 이동 방법

   입력키

     (     문장의 시작으로 이동   

     )     문장 끝으로 이동하여 다음 문장의 시작 첫 칸으로 커서 이동

     {     문단의 시작으로 이동

     }     문단의 끝으로 이동

     G     문서의 마지막 줄로 이동

     nG    n번째 줄로 이동

     "     이전의 커서 위치로 이동

     M     화면 중간 줄에 커서 이동


--> VI에서 줄번호 보이기

:set nu   줄번호가 나타남

:set nonu 줄번호가 사라짐

(앞에 콜론(:)으로 명령모드에서 타이핑해야함)


 4. vi 편집기 삭제 명령

  - 버퍼 내에 있는 파일의 내용 중에 사용자가 원하는 문자 및 문자열을 삭제 가능

  - 문자의 개수를 지정하여 삭제하는 것을 비롯하여 문자열 단위 삭제, 라인 단위 삭제 등 다양한 삭제 방법을 제공

  - 글을 삭제할 때는 항상 입력모드로 되어 있어서는 안 되며, 반드시 입력모드에서 Esc 를 눌러 명령모드로 전환하고 삭제 관련 명령을 수행

  

  명령어

   입력키   내용

     x       현재 커서가 위치한 글자 삭제(Delete)

     dd      현재 커서의 행 삭제

     yy      현재 커서가 있는 행을 복사

     p       복사한 행 내용을 현재 행 이후에 붙여 넣기

     X       현재 커서가 위치한 앞 글자 삭제(Backspace)

     ndd     현재 커서부터 n 만큼의 행 삭제

     nyy     현재 커서부터 n 만큼의 행을 복사

     P       복사한 내용을 현재 행 이전에 붙여 넣기


VI 에서 대소문자 변환 : ~

Ex) 7~  -->  현재 커서에서 앞 7문자의 대소문자 변환


마지막 실행한 명령을 반복 실행 : .


찾기와 바꾸기

/[Information to find] : 찾을 내용을 문서에서 찾아 하이라이트로 표시

n : 문서 아래쪽으로 찾을 내용을 검색하여 하이라이트로 표시

N : 문서 위쪽으로 찾을 내용을 검색하여 하이라이트로 표시

:s/[find]/[change] 찾을 내용을 바꿀 내용으로 바꿔준다. 시작위치부터 첫 번째로 검색된 내용만 바꿔준다.

:%s/[find]/[change]/g  전체 문서에서 찾은 모든 내용을 바꿀 내용으로 바꾼다.

:%s/[find]/[change]/gc 사용자 확인 후 찾을 내용을 바꿀 내용으로 바꾼다. 전체 문서에서 찾을 내용을 하나하나 찾아 변경을 원하는지 확인한 후 변경한다.

'전공 과목 시험정리 > 운영체제 기초' 카테고리의 다른 글

OPERATING SYSTEM - LINUX  (0) 2015.01.11
접근 권한과 소유권  (0) 2015.01.11
사용자 계정 관리 / 슈퍼유저  (0) 2015.01.11
리눅스 기본 명령어 3  (0) 2015.01.11
리눅스 디렉토리  (0) 2015.01.11