본문 바로가기
Linux/VIM

VIM Plugin vim-airline 설치 및 사용 방법

by khd0801 2022. 5. 2.
반응형

 1. vim-airline 이란?

vim을 쓸 때 맨 아래 현재 vim의 state와 파일 이름, 커서의 위치 등 정보를 알려준다.

Section meaning
A 현재 디스플레이 모드(입력 모드(insert), 명령 모드(command), 일반 모드(normal), 비주얼 모드(visual)
B 현재 환경 상태(VCS(버전관리시스템) 코드 수정 내용 및 현재 branch 이름 등 표시
 ※ B Section을 보기 위해서는 tpope/vim-fugitive 플러그인 있어야 화면에 표시된다.
    (당연히 git은 설치되어 있어야 하며, git 저장소가(.git) 생성되어 있어야 표시가 된다.) 
C 파일 이름 + read-only flag 표시
X 파일 타입
Y 파일 인코딩 형식 표시(utf-8[unix[)
Z 현재 파일내 커서 위치 표시 [ex) 10% ☰ 10/100 ln : 20]
10%     - 현재 커서 위치가 파일의 첫 라인으로부터 10% 밑에 있다.
☰ 10/   - 현재 커서 위치가 10번째 라인이다.
100 ln  - 파일내 총 라인 수
: 20      - 현재 커서의 20번째 열에 위치한다.

 

 

 2. .vimrc에 Plugin  추가

call vundle#begin()

    " vim 화면을 좀 더 예쁘게 구성해주는 플러그인 
     Plugin 'vim-airline/vim-airline' 
     Plugin 'vim-airline/vim-airline-themes'

 

call vundle#end()

위의 내용 처럼 vundle#begin()과 vundle#end 사이에 vim-airline 플러그인을 추가하고 PluginInstall 명령어로 설치한다. 

PluginInstall  명령어를 모르겠다면 아래 링크를 참조하길 바란다.

vim Plugin 사용방법

 

 

 3. vim-airline 설정

PluginInstall만으로도 기본적인 사용이 가능하다. 하지만 .vimrc에서 vim-airline관련 설정을 추가함으로써 Customization이 가능하다.

"-----------------------------------------------------------------------"
" Aiarline
"-----------------------------------------------------------------------"
set laststatus=2
let g:airline#extensions#tabline#enabled = 1 "버퍼 목록 켜기
let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = '|'
" 파일명만 출력
let g:airline#extensions#tabline#fnamemod = ':t'
let g:airline_highlighting_cache = 1

let g:airline_powerline_fonts = 1
let g:airline_theme= 'minimalist'
let g:airline_section_y = '' 
let g:airline_section_warning= '' "마지막 status창 사용 안함
" 버퍼 목록 켜기
" 이 옵션은 버퍼를 수정한 직후 버퍼를 감춰지도록 한다.
" 이 방법으로 버퍼를 사용하려면 거의 필수다.
set hidden
set laststatus=2 vim 하단에 상태바 표시
(0:미표시, 1:vim 내 창이 2개일때 표시, 2: 항상 표시)
let g:airline#extensions#tabline#enabled = 1 vim 상단에 버퍼 목록(파일) 켜기
let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = '|'
스테이터스 바의 구분자를 "|" 표시
let g:airline#extensions#tabline#fnamemod = ':t' vim 상단 버퍼 목록에 파일명만 출력
let g:airline_highlighting_cache = 1 다양한 구문 강조 그룹의 캐싱 활성화
let g:airline_powerline_fonts = 1
powerline 폰트와 통합하여  powerline의 기호들이 g:airline_symbols에 자동으로 채워진다.
let g:airline_theme= 'minimalist'
airline status bar 컬러 및 이미지 변경
let g:airline_section_y = ''
Y section  삭제
let g:airline_section_warning= '' "
마지막 status창 사용 안함.
set hidden 수정된 버퍼 내용을 저장하지 않고 다른 버퍼로 이동할 때 에러를 발생시키지 않는다.
(변경사항이 버퍼에 유지되지만 저장장치에 저장되지 않는다)

 

 4. 현재까지의 설정이 적용된 .vimrc 내용

"-----------------------------------------------------------------------"
" Vundle 환경설정
"------------------------------------------------------------------------"
filetype off                   " required!
set shell=/bin/bash
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
	" let Vundle manage Vundle
	" required!
	Plugin 'VundleVim/Vundle.vim'

	" vim 하단에 파일 정보 띄우기
	Plugin 'vim-airline/vim-airline'
	Plugin 'vim-airline/vim-airline-themes'
	"Plugin 'tpope/vim-fugitive'
	" ...
call vundle#end()
filetype plugin indent on     " required!
	"
	" Brief help
	" :BundleList          - list configured bundles
	" :BundleInstall(!)    - install(update) bundles
	" :BundleSearch(!) foo - search(or refresh cache first) for foo
	" :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles
	"
	" see :h vundle for more details or wiki for FAQ
	" NOTE: comments after Bundle command are not allowed..

"-----------------------------------------------------------------------"
"vim 환경설정
"-----------------------------------------------------------------------"

	" Vim 전용 기능 사용
	set nocompatible "Vim Using

	"파일 타입 설정
	set encoding=utf-8
	set fencs=utf-8,cp949,cp932,euc-jp,shift-jis,big5,ucs-2le,latin1

	" 명령어 기록 갯수
	set hi=1000

	" 백스페이스 사용
	set bs=indent,eol,start

	" 오른쪽 하단 커서 위치 항상 보이기
	set ru "same ruler

	" 줄번호 표시
	set nu

	" 줄 번호 표시 너비 설정
	set nuw=5

	" 탭 크기 설정
	set ts=4 "same tabstop
	set sw=4 "same shiftwidth
	set sts=0 "same softtabstop

	autocmd FileType make setlocal noexpandtab "Makefile은 tab 문법이기 때문에 스페이스 대체 안함.
	" 탭 >> 공백 변환 사용안함
	"set noet

	" 자동 줄바꿈 안함
	"set nowrap
	set linebreak
	set showbreak=+++\

	" 들여쓰기 설정
	set autoindent
	set cindent

	" 스마트 셋팅
	set smartcase
	set smarttab
	set smartindent

	" magic 기능 사용
	set magic

	" 이동 동작시 줄의 시작으로 자동 이동
	set sol

	" 비쥬얼 모드 동작 설정
	set sel=exclusive

	" 괄호짝 찾기에서 <> 도 찾도록 추가
	set mps+=<:>

	" 검색어 강조
	set hls

	" 검색시 파일 끝에서 되돌리기 안함
	set nows

	" 스마트한 대소문자 구별 기능 사용
	set scs

	"대소문자 구분(구분 없이 할 때 i 옵션 또는 ignorecase)
	set noignorecase

	" 항상 status 라인을 표시
	set ls=2

	"파일 형식에 따른 신택스 하이라이팅 켜기
	sy enable

	"괄호 매치
	set showmatch

	"마우스 자동
	set mouse=a

	"클립보드 복사
	"set clipboard=unnamed "use OS clipboard
	set clipboard=unnamedplus "use OS clipboard

	" 키워드 입력시 점진적 검색
	set incsearch

"----------------------------------------------------------------------"
" AirLine
"----------------------------------------------------------------------"
set laststatus=2
let g:airline#extensions#tabline#enabled = 1 "버퍼 목록 켜기
let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = '|'
" 파일명만 출력
let g:airline#extensions#tabline#fnamemod = ':t'
let g:airline_highlighting_cache = 1

let g:airline_powerline_fonts = 1
let g:airline_theme= 'minimalist'
let g:airline_section_y = ''
let g:airline_section_warning= '' "마지막 status창 사용 안함
" 버퍼 목록 켜기
" 이 옵션은 버퍼를 수정한 직후 버퍼를 감춰지도록 한다.
" 이 방법으로 버퍼를 사용하려면 거의 필수다.
set hidden

 

 

 5. 현재까지의 설정이 적용된 vim 코드 뷰

tpope/vim-fugitive 설치시 화면

tpope/vim-fugitive 플러그인이 없다면 아래 화면처럼 B section은 보이지 않는다.

tpope/vim-fugitive는 vim에서 git을 연동하기 위한 플러그인이며 자세한 내용 추후 블로그 내용에서 다룰예정이다.

tpope/vim-fugitive 설치 안 했을 경우 화면

 

vim-airline은 위의 tpope/vim-fugitive를 포함한 여러개의 플러그인들과 통합하여 사용할 수 있다. 

vim-airline과 통합하여 사용해 지는 플러그인과 추가적인 vim-airline의 설정을 알고 싶다면 아래 링크를 참조바란다.

vim-airline git 저장소

 
 

 

반응형

댓글