Vi 에디터는 리눅스 및 유닉스 계열 시스템에서 기본적으로 제공되는 매우 강력한 텍스트 편집기입니다. 이 강의에서는 Vi 에디터의 모든 기능을 단계별로 명령어와 함께 실습하면서 설명하겠습니다.
vi filename
vi example.txt
이 명령어를 입력하면 example.txt
파일이 Vi 에디터에서 열립니다.Vi는 두 가지 주요 모드로 작동합니다: 명령 모드와 입력 모드입니다.
i
, I
, a
, A
, o
, O
i
: 커서 앞에 입력I
: 줄의 맨 앞에서 입력a
: 커서 뒤에 입력A
: 줄의 맨 뒤에서 입력o
: 현재 줄 아래에 새로운 줄을 추가하고 입력O
: 현재 줄 위에 새로운 줄을 추가하고 입력i
를 눌러 입력 모드로 전환합니다.Esc
키를 눌러 명령 모드로 돌아갑니다.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
를 사용해 페이지를 위아래로 스크롤해보세요.x
, X
x
: 커서 위치의 문자를 삭제X
: 커서 앞의 문자를 삭제x
또는 X
를 눌러 문자를 삭제해보세요.dw
, daw
dw
: 커서 위치에서 단어 끝까지 삭제daw
: 단어 전체를 삭제dw
또는 daw
를 사용해 단어를 삭제해보세요.dd
dd
를 사용해 줄을 삭제해보세요.d
, y
, p
d
: 삭제 (잘라내기)y
: 복사 (yank)p
: 붙여넣기yy
를 눌러 현재 줄을 복사합니다.p
를 눌러 줄을 붙여넣어 보세요.dd
를 눌러 줄을 잘라내고, p
를 눌러 다른 위치에 붙여넣어 보세요./search_term
, n
, N
/search_term
: search_term
을 검색n
: 다음 검색 결과로 이동N
: 이전 검색 결과로 이동/
를 입력하고 검색어를 입력한 뒤 엔터를 눌러 검색해보세요. n
과 N
을 사용해 검색 결과를 탐색해보세요.:s/old/new/g
old
텍스트를 new
로 교체합니다. g
옵션은 전체 줄에서 모든 발생을 교체합니다.:s/old_text/new_text/g
를 입력하여 줄의 텍스트를 교체해보세요.u
u
를 눌러 마지막 작업을 취소해보세요.Ctrl + r
Ctrl + r
을 눌러 실행 취소한 작업을 다시 실행해보세요.:w
, :q
, :wq
:w
: 파일 저장:q
: Vi 에디터 종료:wq
: 파일 저장 후 종료:q!
: 저장하지 않고 종료:w
를 입력해 파일을 저장해보세요. :q
를 입력해 종료해보세요.Vi 에디터에서 찾기와 찾아 바꾸기 기능은 매우 유용합니다. 또한, 환경설정을 통해 Vi 에디터를 사용자가 원하는 대로 커스터마이징할 수 있습니다.
/search_term
search_term
을 문서에서 검색합니다./search_term
: 문서에서 search_term
을 찾습니다.n
: 다음 검색 결과로 이동N
: 이전 검색 결과로 이동/Hello
를 입력하고 엔터를 눌러 "Hello"라는 텍스트를 검색해보세요.n
키를 눌러 다음 검색 결과로 이동해보세요.N
키를 눌러 이전 검색 결과로 이동해보세요.:set hlsearch
:set hlsearch
를 입력하여 하이라이트 기능을 활성화하세요./search_term
을 입력하여 텍스트를 검색한 후, 하이라이트된 부분을 확인하세요.:s/old/new/
old
텍스트를 new
텍스트로 교체합니다.:s/old/new/
: 현재 줄의 첫 번째 old
를 new
로 교체:s/old/new/g
: 현재 줄의 모든 old
를 new
로 교체:s/Hello/Hi/
를 입력하여 현재 줄에서 "Hello"를 "Hi"로 교체하세요.:s/Hello/Hi/g
를 입력하여 현재 줄의 모든 "Hello"를 "Hi"로 교체하세요.:%s/old/new/g
old
텍스트를 new
텍스트로 모두 교체합니다.:%s/old/new/g
: 파일 전체에서 모든 old
를 new
로 교체:%s/old/new/gc
: 파일 전체에서 old
를 new
로 교체하며, 교체 여부를 확인:%s/Hello/Hi/g
를 입력하여 파일 전체에서 모든 "Hello"를 "Hi"로 교체하세요.:%s/Hello/Hi/gc
를 입력하여 교체 여부를 확인하면서 교체 작업을 진행하세요.Vi 에디터는 다양한 환경설정을 통해 사용자 맞춤형으로 사용할 수 있습니다. 다음은 자주 사용되는 환경설정 옵션입니다.
:set number
:set number
를 입력하여 라인 번호를 표시하세요.:set nonumber
를 입력하여 라인 번호 표시를 해제하세요.:set autoindent
:set autoindent
를 입력하여 자동 들여쓰기를 활성화하세요.:set tabstop=4
:set tabstop=4
를 입력하여 탭 간격을 4로 설정하세요.:set expandtab
:set expandtab
을 입력하여 탭이 스페이스로 변환되도록 설정하세요.:set smarttab
:set smarttab
을 입력하여 스마트 탭 기능을 활성화하세요.:set nohlsearch
:set nohlsearch
를 입력하여 하이라이트 기능을 비활성화하세요.~/.vimrc
파일에 설정 추가~/.vimrc
파일에 추가합니다.vi ~/.vimrc
명령어로 설정 파일을 엽니다.set number
set autoindent
set tabstop=4
set expandtab
set hlsearch
이제 Vi 에디터에서 텍스트 찾기와 찾아 바꾸기, 그리고 환경설정을 통해 편집 환경을 더욱 효율적으로 사용할 수 있게 되었습니다. 각 설정은 사용자의 편의에 맞춰 조정할 수 있으며, 이를 통해 생산성을 크게 향상시킬 수 있습니다.
실습을 통해 Vi 에디터에 익숙해지고, 다양한 환경설정과 기능들을 자유자재로 사용할 수 있기를 바랍니다. 추가적인 질문이나 설명이 필요하면 언제든지 말씀해 주세요!