본문 바로가기
리눅스

[linux][vi] VI 사용 방법

by hs_seo 2020. 2. 27.

VI는 터미널 환경에서 많이 사용되는 텍스트 에디터입니다. 리눅스 배포판에 기본적으로 설치되어있고 다양한 기능을 가지고 있어 자주 사용하게 됩니다.

 

우리가 터미널 환경에서 사용하는 VI는 보통 VIM(Vi Improved)인 경우기 많습니다. VIM은 VI를 개선하여 만들어진 프로그램으로 리눅스에는 기본적으로 VIM이 VI로 alias가 등록되어 있습니다.

# vi 명령의 alias 확인 
$ alias vi
alias vi='vim'

VI의 특징

  • 문법 강조
    • 파일 타입을 이용하여 문법 강조 기능 제공
  • 다양한 기능
    • 검색, 치환, 복사, 붙여 넣기, 블록 지정 등 다양한 기본 기능 제공
    • 단축키를 이용하여 빠른 작업 가능
  • 테마 설정
    • 기본 테마 변경 및 사용자 정의 테마 설정 가능

VI 사용 모드

VI는 4가지의 모드(명령, 입력, EX, 비주얼)가 있습니다. 각 모드의 상태는 좌측 하단에 출력되는 상태의 이름을 이용하여 확인할 수 있습니다.

 

 

  • 명령 모드
    • VI를 실행했을 때 기본 상태
    • ESC 키를 입력하여 모드 설정
  • 명령 모드
    • 에서 i, a 등의 키를 이용하여 입력 모드로 진입
    • 문자를 입력
  • EX 모드
    • 명령모드에서 콜론(:)을 입력하여 진입
    • EX 명령어 실행
  • 비주얼 모드
    • 명령 모드에서 블록 지정 키(v)를 입력하여 진입
    • 블록 지정 가능

주요 단축키

이동 - 명령모드

비고
h
l
j
k
gg 첫 라인으로
G 마지막 라인으로

상하좌우 화살 키로 이동 가능

복사, 붙여넣기, 되돌리기 - 명령 모드

비고
u 되돌리기
y 복사
p 붙여넣기

삭제

비고
x 현재 위치 삭제
X 앞으로 삭제
dd 현재 라인 삭제
dG 현재 라인부터 마지막 라인 삭제

화면 전체 삭제는 gg로 첫 라인으로 커서를 옮기고, dG를 입력하여 화면 전체를 삭제

검색

명령 모드에서 슬래쉬(/) 또는 물음표(?)를 입력하여 검색을 할 수 있습니다.

# 검색 방법 
/ 전진 검색
? 후진 검색

# 검색 후 
n 전진 
N 후진 

# 검색후 문자 하이라이팅 끄기 
:noh
:nohlsearch

치환(Replace) 명령

명령모드에서 퍼센트(%)를 입력하여 문자열을 치환할 수 있습니다.

# old 문자를 new 문자로 변경 
:%s/old/new/g

VI 스크립트 명령어

VI는 자체 스크립트를 이용할 수 있습니다. 이 중에서 몇 가지만 알아보겠습니다.

# 파일 타입 확인 
:echo &filetype

# 현재 사용중인 vim의 정보 
:echo $VIMRUNTIME

문법 강조

문법 강조는 VI에 설정된 syntax파일을 이용하여 제공합니다. EX 모드에서 syntax on 명령을 이용하여 문법 강조 기능을 켜고 끌 수 있습니다. 사용자가 설정 파일에 파일 타입과 문법을 연결하여 신규 설정을 추가할 수 있습니다.

# EX 모드에서 입력 또는 .vimrc 파일에 입력 
syntax on

# 하단의 위치에 문법 파일 존재, 각 언어의 설정을 확인 가능 
$ ls -alh /usr/share/vim/vim80/syntax

# 다음의 설정을 .vimrc 파일에 추가 
# hive hql파일의 문법 설정을 sql로 설정 
au BufNewFile,BufRead *.hql                   setf sql

자동 들여 쓰기

자동 들여 쓰기 기능을 이용하여 스크립트를 작성할 때 들여 쓰기를 수동으로 맞추지 않고 자동으로 적용할 수 있습니다.

# 들여쓰기 설정 .vimrc 파일에 입력 
set autoindent

# Tab 너비, 자동 인덴트할 때 너비
set ts=4 
set shiftwidth=4 

줄번호 추가

줄번호를 추가하여 현재 위치를 확인할 수 있습니다.

# 줄번호 추가 .vimrc 파일에 입력 
set nu

테마 설정

사용자가 테마를 설정할 수 있습니다. 기본적으로 설치된 테마는 다음의 위치에서 확인할 수 있습니다. 해당 위치에 설치된 파일의 이름으로 설정하면 됩니다. 사용자가 테마 파일을 추가할 수도 있습니다.

# 테마 설정 
colorscheme jellybeans

# 기본 테마 확인 
$ ls -l /usr/share/vim/vim*/colors/

# 다음의 위치에 외부에서 설정한 테마 파일을 복사하여 설정 가능 
$ ~/.vim/colors

VI 설정

VI는 기본 전체 사용자의 공통 설정 파일과 사용자 개별 설정 파일을 이용하여 환경설정을 할 수 있습니다. .vimrc 설정 방법에서 상세한 설정 방법을 알 수 있습니다.

  • 전체 사용자
    • /etc/vimrc
  • 사용자 설정
    • ~/.vimrc

기본 VI 설정

다음과 같이 사용자 설정을 추가하여 작업을 좀 더 편리하게 진행할 수 있습니다.

# 자동 들여쓰기 
set autoindent
# 줄번호 추가 
set nu
# 문법 설정 연결 
au BufNewFile,BufRead *.hql                   setf sql

참고

반응형