본문 바로가기

TEAM STUDY/LINUX

vi 에디터의 개요

728x90
반응형

학습내용

  • 1. 유닉스의 텍스트 에디터
  • 2. vi 사용법
  • 3. vi 환경설정

학습목표

  • 1. 유닉스의 텍스트 에디터의 종류를 설명할 수 있다.
  • 2. vi 에디터의 모드형과 비모드형을 구분하고, vi 에디터를 시작할 수 있다.
  • 3. vi 에디터를 편리하게 사용하기 위한 환경을 설정할 수 있다.

유닉스 편집기

  • 텍스트 파일의 작성, 편집 및 저장에 필요한 유틸리티 프로그램
  • GUI 환경인 그놈에서 제공하는 gedit으로 간단하게 문서 작성이 가능
  • 특징
    • 커서와 화면 이동이 자유로움
    • 파일의 편집 위치가 자유로움
    • 편집 기능이 다양
    • vi에서 다루는 모든 자료는 일시적인 작업을 할 수 있도록 버퍼에 파일의 사본을 만드므로, 반드시 저장해야 함
구분 종류
행 단위 편집기 ed, ex, sed
화면 단위 편집기 vi, emacs
GUI 편집기 gedit

 

행 단위 편집기

  • ed
    • 유닉스 초기의 행 편집기로 사용이 불편하여 거의 사용 않음
  • ex
    • 행 편집기이지만 단독으로 사용하기보다는 vi에 연결하여 vi를 더욱 강력하게 하는 다양한 기능을 제공
  • sed
    • 스트림 편집기로, 일반 편집기와 달리 지시된 명령에 따라 파일의 내용을 일괄적으로 바꿔서 출력해줌

화면 단위 편집기

  • vi
    • 리눅스에서 일반적으로 사용할 수 있는 화면 편집기
  • emacs (이맥스)
    • 제공하는 기능이 매우 다양하지만 사용법이 어렵고 복잡하여 전문적인 애호가 위주로 사용

 

vi사용법

 

vi 시작하고 종료하기: vi 시작

  • 파일을 지정할 경우
    • 해당 파일이 있으면 파일의 내용이 보이고, 없는 파일이면 빈 파일이 열림
  • 파일을 지정하지 않을 경우
    • 그냥 빈 파일이 열림(파일명은 저장할 때 지정 가능)

 

vi 시작하고 종료하기: vi 종료

  • 명령 모드나 마지막 행 모드에서 저장하고 종료 가능
  • vi의 저장과 종료 명령 키
  • 마지막 행 모드
    • :q
      • vi에 작업한 것이 없을 때 그냥 종료함
    • :q!
      • 작업한 내용을 저장하지 않고 종료함
    • :w, :w! 파일명
      • 작업한 내용을 저장만 하며, 파일명을 지정하면 새 파일로 저장함
    • :wq, :wq!
      • 작업한 내용을 저장하고 vi를 종료함
  • 명령 모드
    • ZZ
      • 작업한 내용을 저장하고 vi를 종료함

 

vi 명령 형식: vi [옵션][파일]

  • -R
    • 읽기 전용으로 파일 열기
  • -$
    • 파일의 마지막 행으로 커서를 이동시키고 파일 열기
  • -n
    • n으로 지정된 행으로 커서를 이동시키고 파일 열기
  • -r
    • 손상된 파일(작업중 정전 등)을 복구할 때 이용

 

vi 입력 모드 전환

   모든 입력이 끝나고 ESC를 누르시면 다시 명령 모드로 바뀜

    • 커서 앞에 입력
    • 현재 커서 자리에 입력
  • a
    • 커서 뒤에 입력
    • 현재 커서 다음 자리에 입력 
    • 커서가 위치한 행의 다음 행에 입력
  • l
    • 커서가 위치한 행의 첫 칼럼으로 이동해 입력
  • A
    • 커서가 위치한 행의 마지막 칼럼으로 이동해 입력
  • O
    • 커서가 위치한 행의 이전 행에 입력

 

vi 커서 이동

  • k
    • 커서를 한 행 위로 이동
  • j
    • 커서를 한 행 아래로 이동
  • l
    • 커서를 한문자 오른쪽으로 이동
  • h
    • 커서를 한문자 왼쪽으로 이동
  • ^ 또는 0
    • 커서를 현재 행의 처음으로 이동
  • $
    • 커서를 현재 행의 마지막으로 이동
  • -
    • 커서를 이전 행의 처음으로 이동

vi 커서 이동

  • + 또는 [Enter]
    • 커서를 다음 행의 처음으로 이동
  • H
    • 커서를 화면의 맨 위 행으로 이동
  • M
    • 커서를 화면의 중간 행으로 이동
  • L
    • 커서를 화면의 맨 아래 행으로 이동
  • w
    • 커서를 다음 단어의 첫글자 위치로 이동
  • b
    • 커서를 앞 단어의 첫글자 위치로 이동
  • e
    • 커서를 다음 단어의 마지막 위치로 이동

커서 화면 이동

   보통 리눅스에서는 ^를 ctrl 키 취급을 한다. ==  ^ -> ctlr 눌러라 

  • ^u(Ctrl+u)
    • 반 화면 위로 이동
  • ^d
    • 반 화면 아래로 이동
  • ^b
    • 한 화면 위로 이동
  • ^f
    • 한 화면 아래로 이동
  • ^y
    • 화면을 한 행만 위로 이동
  • ^e
    • 화면을 한 행만 아래로 이동

vi 내용 변경

  • r
    • 커서가 위치한 문자를 다른 문자로 수정
  • cw, #cw
    • 커서 위치부터 현재 단어 끝까지 수정
    • #: 수정할 단어 수 지정 (3cw는 커서의 위치부터 3단어 수정)
  • s, #s  
    • 커서의 위치부터 ESC키를 입력할 때까지 수정
    • 5s는 커서 위치부터 5글자 수정
  • cc
    • 커서가 위치한 행의 내용을 모두 수정
  • c
    • 커서의 위치부터 행의 끝까지 수정

vi 내용 변경

  • x, #x
    • 커서가 위치한 문자를 삭제
  • dw, #dw
    • 커서가 위치한 단어를 삭제
  • dd, #dd
    • 커서가 위치한 행을 삭제
  • u
    • 방금 수행한 명령 취소
  • U
    • 해당 행에서 수행한 모든 명령 취소
  • :e!
    • 마지막으로 저장한 내용 이후의 것을 버리고 새로 작업

vi 내용 변경

  • yy, #yy
    • 커서가 위치한 행 복사
  • p
    • 커서가 위치한 행의 아래쪽에 붙임
  • P
    • 커서가 위치한 행의 위쪽에 붙임
  • dd, #dd
    • 커서가 위치한 행을 자름

vi 환경설정

 

모드형

  • 입력 모드
    • 텍스트를 입력할 수 있는 모드
  • 명령 모드
    • 텍스트를 수정하고, 삭제하고, 복사와 붙이기 등 편집을 하는 모드
  • 같은 글자라도 입력 모드에서는 텍스트로 처리하여 입력되고, 명령 모드에서는 텍스트로 입력되는 것이 아니라 편집 명령으로 사용 
  • vi는 모드형 편집기

 

비모드형

  • 입력 모드와 명령 모드가 구분되어 있지 않음
  • 편집 기능을 Ctrl이나 Alt 같은 특수 키와 함께 사용
  • 한글과 워드는 비모드형 편집기

 

vi 환경 설정하기

  • 사용자 홈 디렉터리에 .exrc 파일로 저장 
  • vim 편집기에서는 ~/.vimrc이 추가되었으며 ~/.exrc와 함께 제공됨
  • vi의 마지막 행 모드에서 명령으로 실행

vi 환경 설정 명령(set) I vi 환경 설정 명령과 옵션

  • set nu
    • 파일 내용의 각 행에 행 번호를 표시함 (보이기만 할 뿐 저장되지는 않음)
  • set nonu
    • 행 번호를 감춤
  • set list
    • 눈에 보이지 않는 특수문자를 표시함(tab:^l, eol:$ 등)
  • set nolist
    • 특수문자를 감춤
  • set showmode
    • 현재 모드를 표시함
  • set noshowmode
    • 현재 모드를 감춤
  • set
    • set으로 설정한 모든 vi 환경 설정 값을 출력함
  • set all
    • 모든 vi 환경 변수와 현재 값을 출력함

사용자별 환경 설정

  • 유닉스는 처음 설치하면 기본적으로 /bin/sh 와 /bin/csh가 깔림
  • /bin/sh
    • 특별한 키워드 없이 환경설정
    • 설정된 환경 볼 때 ⇒ set
    • PATH잡을 때 : ⇒PATH=$PATH:/usr/bin: /usr/share/bin:/usr/ucb
    • vi에서 화면 스크롤이 잘 안 될때 ⇒TERM=xterm
    • 솔라리스 터미널에서 ⇒TERM=sun
    • 모든 사용자에게 환경을 적용시키고 싶다면 ⇒/etc/profile
    • 개인적으로 설정 하고 싶다면 ⇒$HOME/.profile
  • /bin/csh
    • 환경설정 할 때 ⇒ setenv
    • 설정된 환경 볼 때 ⇒ set
    • setenv TERM xterm setenv PATH $PATH:/usr/bin:/usr/loca l/bin:/usr/ucb
    • 모든 사용자에게 환경을 적용시키고 싶다면 /etc/profile /etc/cshrc 
    • 개인적으로 설정 하고 싶다면 $HOME/.cshrc

앞에 $가 붙으면 환경설정 변수 !

환경설정 변수는 묵시적으로 대분자로 약속!

 

 

bash는 따로 설치해주어야 사용

  • [/bin/bash]
    • 환경설정 할 때 ⇒ export 
    • 설정된 환경 볼 때 ⇒ set export PATH=$PATH:/usr/bin:/usr/share/bin:/sbin:/usr/sbin export TERM=xterm
    • 모든 사용자에게 환경을 적용시키고 싶다면 /etc/profile /etc/bashrc
    • 개인적으로 설정 하고 싶다면 $HOME/.bashrc

 

 

 

728x90
반응형

'TEAM STUDY > LINUX' 카테고리의 다른 글

[ 리눅스 마스터 ] 디렉토리 ?  (0) 2021.01.13
vi 입력과 수정  (0) 2021.01.10
유닉스의 디렉토리 조작하기  (0) 2021.01.03
유닉스 디렉토리 계층 구조  (1) 2021.01.02
GRUB 패스워드 설정  (0) 2020.12.30