vi 에디터

날아올라돼지야·2024년 8월 31일
0

Vi 에디터는 리눅스 및 유닉스 계열 시스템에서 기본적으로 제공되는 매우 강력한 텍스트 편집기입니다. 이 강의에서는 Vi 에디터의 모든 기능을 단계별로 명령어와 함께 실습하면서 설명하겠습니다.

1. Vi 에디터 시작하기

Vi 에디터 열기

  • 명령어: vi filename
  • 설명: Vi 에디터를 열 때, 파일명을 지정하면 해당 파일이 열립니다. 파일이 존재하지 않으면 새 파일이 생성됩니다.
  • 실습:
    vi example.txt
    이 명령어를 입력하면 example.txt 파일이 Vi 에디터에서 열립니다.

2. Vi 에디터의 모드 이해하기

Vi는 두 가지 주요 모드로 작동합니다: 명령 모드입력 모드입니다.

명령 모드 (Command Mode)

  • Vi 에디터가 처음 열리면 기본적으로 명령 모드입니다. 이 모드에서 키보드 입력은 텍스트 편집 명령으로 해석됩니다.

입력 모드 (Insert Mode)

  • 명령어: i, I, a, A, o, O
  • 설명: 입력 모드로 전환하여 텍스트를 입력할 수 있습니다.
    • i: 커서 앞에 입력
    • I: 줄의 맨 앞에서 입력
    • a: 커서 뒤에 입력
    • A: 줄의 맨 뒤에서 입력
    • o: 현재 줄 아래에 새로운 줄을 추가하고 입력
    • O: 현재 줄 위에 새로운 줄을 추가하고 입력
  • 실습:
    1. i를 눌러 입력 모드로 전환합니다.
    2. "Hello, World!"를 입력합니다.
    3. Esc 키를 눌러 명령 모드로 돌아갑니다.

3. 텍스트 이동 명령어

기본 커서 이동

  • 명령어: h, j, k, l
  • 설명: 커서를 문자 단위로 이동합니다.
    • h: 왼쪽으로 한 칸 이동
    • j: 아래로 한 줄 이동
    • k: 위로 한 줄 이동
    • l: 오른쪽으로 한 칸 이동
  • 실습:
    • 명령 모드에서 h, j, k, l 키를 눌러 커서를 이동해보세요.

단어 단위 이동

  • 명령어: w, b, e
  • 설명: 단어 단위로 커서를 이동합니다.
    • w: 다음 단어의 시작으로 이동
    • b: 이전 단어의 시작으로 이동
    • e: 현재 단어의 끝으로 이동
  • 실습:
    • 텍스트가 있는 줄에서 w, b, e를 사용해 커서를 단어 단위로 이동해보세요.

줄의 시작과 끝으로 이동

  • 명령어: 0, $
  • 설명: 줄의 시작과 끝으로 커서를 이동합니다.
    • 0: 현재 줄의 시작으로 이동
    • $: 현재 줄의 끝으로 이동
  • 실습:
    • 명령 모드에서 0을 눌러 줄의 시작으로 이동하고, $를 눌러 줄의 끝으로 이동해보세요.

화면 단위 이동

  • 명령어: Ctrl + u, Ctrl + d, Ctrl + b, Ctrl + f
  • 설명: 화면 단위로 커서를 이동합니다.
    • Ctrl + u: 화면의 절반을 위로 스크롤
    • Ctrl + d: 화면의 절반을 아래로 스크롤
    • Ctrl + b: 한 화면 위로 이동
    • Ctrl + f: 한 화면 아래로 이동
  • 실습:
    • Ctrl + u, Ctrl + d를 사용해 페이지를 위아래로 스크롤해보세요.

4. 텍스트 수정 명령어

한 글자 삭제

  • 명령어: x, X
  • 설명: 커서 위치의 문자를 삭제합니다.
    • x: 커서 위치의 문자를 삭제
    • X: 커서 앞의 문자를 삭제
  • 실습:
    • 명령 모드에서 커서를 특정 문자로 이동한 후 x 또는 X를 눌러 문자를 삭제해보세요.

단어 삭제

  • 명령어: dw, daw
  • 설명: 단어 단위로 텍스트를 삭제합니다.
    • dw: 커서 위치에서 단어 끝까지 삭제
    • daw: 단어 전체를 삭제
  • 실습:
    • 명령 모드에서 dw 또는 daw를 사용해 단어를 삭제해보세요.

줄 삭제

  • 명령어: dd
  • 설명: 현재 줄을 삭제합니다.
  • 실습:
    • 명령 모드에서 dd를 사용해 줄을 삭제해보세요.

텍스트 잘라내기 및 붙여넣기

  • 명령어: d, y, p
  • 설명: 텍스트를 잘라내고 붙여넣습니다.
    • d: 삭제 (잘라내기)
    • y: 복사 (yank)
    • p: 붙여넣기
  • 실습:
    1. 명령 모드에서 yy를 눌러 현재 줄을 복사합니다.
    2. p를 눌러 줄을 붙여넣어 보세요.
    3. dd를 눌러 줄을 잘라내고, p를 눌러 다른 위치에 붙여넣어 보세요.

5. 텍스트 검색 및 교체

텍스트 검색

  • 명령어: /search_term, n, N
  • 설명: 텍스트를 검색합니다.
    • /search_term: search_term을 검색
    • n: 다음 검색 결과로 이동
    • N: 이전 검색 결과로 이동
  • 실습:
    • /를 입력하고 검색어를 입력한 뒤 엔터를 눌러 검색해보세요. nN을 사용해 검색 결과를 탐색해보세요.

텍스트 교체

  • 명령어: :s/old/new/g
  • 설명: 현재 줄에서 old 텍스트를 new로 교체합니다. g 옵션은 전체 줄에서 모든 발생을 교체합니다.
  • 실습:
    • 명령 모드에서 :s/old_text/new_text/g를 입력하여 줄의 텍스트를 교체해보세요.

6. 실행 취소 및 재실행

실행 취소

  • 명령어: u
  • 설명: 마지막 명령을 실행 취소합니다.
  • 실습:
    • 명령 모드에서 u를 눌러 마지막 작업을 취소해보세요.

재실행

  • 명령어: Ctrl + r
  • 설명: 취소한 명령을 다시 실행합니다.
  • 실습:
    • 명령 모드에서 Ctrl + r을 눌러 실행 취소한 작업을 다시 실행해보세요.

7. 파일 저장 및 종료

저장 및 종료

  • 명령어: :w, :q, :wq
  • 설명:
    • :w: 파일 저장
    • :q: Vi 에디터 종료
    • :wq: 파일 저장 후 종료
    • :q!: 저장하지 않고 종료
  • 실습:
    • 명령 모드에서 :w를 입력해 파일을 저장해보세요. :q를 입력해 종료해보세요.

8. 찾기와 찾아 바꾸기

Vi 에디터에서 찾기와 찾아 바꾸기 기능은 매우 유용합니다. 또한, 환경설정을 통해 Vi 에디터를 사용자가 원하는 대로 커스터마이징할 수 있습니다.

텍스트 찾기

  • 명령어: /search_term
  • 설명: search_term을 문서에서 검색합니다.
    • /search_term: 문서에서 search_term을 찾습니다.
    • n: 다음 검색 결과로 이동
    • N: 이전 검색 결과로 이동
  • 실습:
    1. Vi 에디터에서 /Hello를 입력하고 엔터를 눌러 "Hello"라는 텍스트를 검색해보세요.
    2. n 키를 눌러 다음 검색 결과로 이동해보세요.
    3. N 키를 눌러 이전 검색 결과로 이동해보세요.

텍스트 찾기 및 하이라이트

  • 명령어: :set hlsearch
  • 설명: 검색된 텍스트를 하이라이트로 표시합니다. Vi 에디터의 기본 설정에서 이 기능이 꺼져 있을 수 있으므로, 수동으로 설정할 수 있습니다.
  • 실습:
    1. 명령 모드에서 :set hlsearch를 입력하여 하이라이트 기능을 활성화하세요.
    2. /search_term을 입력하여 텍스트를 검색한 후, 하이라이트된 부분을 확인하세요.

텍스트 교체 (한 줄)

  • 명령어: :s/old/new/
  • 설명: 현재 줄에서 old 텍스트를 new 텍스트로 교체합니다.
    • :s/old/new/: 현재 줄의 첫 번째 oldnew로 교체
    • :s/old/new/g: 현재 줄의 모든 oldnew로 교체
  • 실습:
    1. 명령 모드에서 :s/Hello/Hi/를 입력하여 현재 줄에서 "Hello"를 "Hi"로 교체하세요.
    2. 명령 모드에서 :s/Hello/Hi/g를 입력하여 현재 줄의 모든 "Hello"를 "Hi"로 교체하세요.

텍스트 교체 (전체 파일)

  • 명령어: :%s/old/new/g
  • 설명: 파일 전체에서 old 텍스트를 new 텍스트로 모두 교체합니다.
    • :%s/old/new/g: 파일 전체에서 모든 oldnew로 교체
    • :%s/old/new/gc: 파일 전체에서 oldnew로 교체하며, 교체 여부를 확인
  • 실습:
    1. 명령 모드에서 :%s/Hello/Hi/g를 입력하여 파일 전체에서 모든 "Hello"를 "Hi"로 교체하세요.
    2. 명령 모드에서 :%s/Hello/Hi/gc를 입력하여 교체 여부를 확인하면서 교체 작업을 진행하세요.

9. 환경설정

Vi 에디터는 다양한 환경설정을 통해 사용자 맞춤형으로 사용할 수 있습니다. 다음은 자주 사용되는 환경설정 옵션입니다.

라인 번호 표시

  • 명령어: :set number
  • 설명: 각 줄의 라인 번호를 표시합니다.
  • 실습:
    1. 명령 모드에서 :set number를 입력하여 라인 번호를 표시하세요.
    2. :set nonumber를 입력하여 라인 번호 표시를 해제하세요.

자동 들여쓰기

  • 명령어: :set autoindent
  • 설명: 새로운 줄을 입력할 때 이전 줄의 들여쓰기를 자동으로 유지합니다.
  • 실습:
    1. 명령 모드에서 :set autoindent를 입력하여 자동 들여쓰기를 활성화하세요.
    2. 코드를 입력하면서 자동으로 들여쓰기가 되는지 확인하세요.

탭 간격 설정

  • 명령어: :set tabstop=4
  • 설명: 탭 간격을 설정합니다. 기본값은 보통 8입니다.
  • 실습:
    1. 명령 모드에서 :set tabstop=4를 입력하여 탭 간격을 4로 설정하세요.
    2. 탭을 입력하여 간격이 어떻게 변경되는지 확인하세요.

탭을 스페이스로 변환

  • 명령어: :set expandtab
  • 설명: 탭을 스페이스로 변환합니다.
  • 실습:
    1. 명령 모드에서 :set expandtab을 입력하여 탭이 스페이스로 변환되도록 설정하세요.
    2. 탭을 입력하고, 탭이 스페이스로 변환되는지 확인하세요.

탭과 스페이스 혼합 사용 방지

  • 명령어: :set smarttab
  • 설명: 기존의 스페이스와 탭 혼합 사용을 방지하고, 탭의 길이를 스마트하게 조절합니다.
  • 실습:
    1. 명령 모드에서 :set smarttab을 입력하여 스마트 탭 기능을 활성화하세요.
    2. 코드를 입력하면서 탭의 길이가 적절히 조절되는지 확인하세요.

하이라이트 검색 비활성화

  • 명령어: :set nohlsearch
  • 설명: 검색된 텍스트의 하이라이트를 비활성화합니다.
  • 실습:
    1. 명령 모드에서 :set nohlsearch를 입력하여 하이라이트 기능을 비활성화하세요.

환경설정 저장

  • 명령어: ~/.vimrc 파일에 설정 추가
  • 설명: Vi 에디터를 종료하고 다시 열 때 설정을 유지하려면, 설정 내용을 ~/.vimrc 파일에 추가합니다.
  • 실습:
    1. vi ~/.vimrc 명령어로 설정 파일을 엽니다.
    2. 다음과 같은 설정을 추가합니다:
      set number
      set autoindent
      set tabstop=4
      set expandtab
      set hlsearch
    3. 파일을 저장하고 종료한 후, Vi 에디터를 다시 열어 설정이 적용되었는지 확인하세요.

이제 Vi 에디터에서 텍스트 찾기와 찾아 바꾸기, 그리고 환경설정을 통해 편집 환경을 더욱 효율적으로 사용할 수 있게 되었습니다. 각 설정은 사용자의 편의에 맞춰 조정할 수 있으며, 이를 통해 생산성을 크게 향상시킬 수 있습니다.

실습을 통해 Vi 에디터에 익숙해지고, 다양한 환경설정과 기능들을 자유자재로 사용할 수 있기를 바랍니다. 추가적인 질문이나 설명이 필요하면 언제든지 말씀해 주세요!

profile
무슨 생각하며 사니

0개의 댓글

관련 채용 정보