나만의 Windows 개발 셋팅 - Windows Terminal for WSL(feat, vim & jellybeans)

2022. 7. 26. 10:26Guide

 

거의 대부분이 라고 할 정도로 Linux에서 수정을 해야 하는 경우라면 vi(visual editor)를 통해 수정을 하게 된다.

간혹 vi를 멋지게 사용하는 것에 감탄을 내뱉는 경우도 생기기 마련 키보드만으로 모든 에디터 기능을 사용한다는 것에 가끔은 뿌듯함이 느껴지기도 한다.

 

그렇지만 모든 텍스트에 검은 건 바탕이요 흰 건 글자뿐 보기에도 어렵고, 편집 및 수정에도 어려운 부분에 있어 조금 더 편하게 사용할 수 있도록 vi에 대한 설정을 진행해 보자.

vim(vi improved)

vim은 vi imporved의 약자로 말 그대로 vi의 개선된 버전 즉 업그레이드된 버전을 뜻하며, 가장 큰 특징으로는 특정 문장, 단어 및 문법 등에 맞춰 보기 좋게 색으로 구분을 해 주기 때문에 좀 더 편하게 보고 수정할 수 있도록 하고 있다.

보통 우리가 아는 vi는 모두 vim으로 기존 Unix에서 사용하던 vi는 특별한 경우를 제외하고는 많이 사용하지 않는다.

그럼에도 vim을 설정하여 개개인에 맞도록 좀 더 편하게 사용해 보자.

 

vim 설치 & 업데이트

위에서 이야기했듯이 특별한 경우를 제외하고는 vim을 설치할 필요는 없지만 업데이트도 할 겸 확인해 보도록 하자.

sudo apt update && sudo apt install vim

vim을 통해 파일을 열어보면 아래와 같이 보기에 편하게 색상으로 구분된 에디터 화면을 볼 수 있다.

vim editor 화면

.vimrc 설정

vim은 .vimrc 파일을 통해 각자의 상황에 맞게 설정을 하여 진행할 수 있다.

.vimrc 파일은 홈 경로의 ~/.vimrc에 위치하게 되면 별도의 적용방법 없이도 자동으로 vim에서 설정이 된다.

아래 항목은 가장 많이 알려져 있는 .vimrc 설정이다 

 " .vimrc Global Setting 

 set autoindent          " 자동 들여쓰기
 set autowrite           " 다른 파일로 넘어갈 때 자동 저장
 set autoread            " 작업 중인 파일 외부에서 변경됬을 경우 자동으로 불러옴
 
 set ruler               " 현재 커서 위치 표시
 set hlsearch            " 검색어 하이라이팅
 set nu                  " 줄번호
 
 set ts=4                " tag select
 set sts=4               " st select
 set sw=1                " 스크롤바 너비
 set cindent             " C언어 자동 들여쓰기
 
 "set paste              " 붙여넣기 계단현상 없애기
 set softtabstop=4	 " 탭키를 누를때 스페이스의 수
 set tabstop=4		 " 탭키를 누를때 스페이스의 수
 set scrolloff=2	 " 커서스크롤 Offset
 set smartindent	 " 자동 들여쓰기 설정 
 set shiftwidth=4        " 자동 들여쓰기 너비 설정
 set showmatch           " 일치하는 괄호 하이라이팅
 set smartcase           " 검색시 대소문자 구별
 set smarttab		 " 탭단위 들여쓰기 삭제
 
 set laststatus=2        " 상태바 표시 항상
 set statusline=\ %<%l:%v\ [%P]%=%a\ %h%m%r\ %F\
 
 set incsearch		 " 글자 한글자 입력시마다 검색
 set bs=eol,start,indent " 백스페이스 삭제설정
 set wildmode=longest,list
 set history=256
 
 " 마지막으로 수정된 곳에 커서를 위치함
 au BufReadPost *
 \ if line("'\"") > 0 && line("'\"") <= line("$") |
 \ exe "norm g`\"" |
 \ endif
 
 " 파일 인코딩을 한국어로
 if $LANG[0]=='k' && $LANG[1]=='o'
  set fileencoding=korea
 endif
 
 " 구문 강조 사용
 if has("syntax")
  syntax on
 endif

아래 링크를 통해 좀 더 자세한 설정 파일 적용 법을 확인할 수 있다.

 

GitHub - johngrib/simple_vim_guide: simple vim guide

simple vim guide. Contribute to johngrib/simple_vim_guide development by creating an account on GitHub.

github.com

 

vim 컬러 스키마 적용

vim editor에 대해서 컬러 스키마 또한 변경이 가능하며 오늘은 jellybeans라는 컬러 스키마를 적용해 보도록 하자.

 

GitHub - nanotech/jellybeans.vim: A colorful, dark color scheme for Vim.

A colorful, dark color scheme for Vim. Contribute to nanotech/jellybeans.vim development by creating an account on GitHub.

github.com

 

jellybeans.vim 파일 다운로드

별도로 다운로드하여 저장해도 되지만 아래 명령어를 통해 간단하게 다운로드할 수 있다.

mkdir -p ~/.vim/colors
cd ~/.vim/colors
curl -O https://raw.githubusercontent.com/nanotech/jellybeans.vim/master/colors/jellybeans.vim

 

jellybeans.vim 적용

vi ~/.vimrc

기존 .vimrc 설정 파일 제일 하단에 아래 항목 추가

 " 컬러 스킴 사용
 :colorscheme jellybeans

jellybeans 적용 전/ 후를 비교해 보면 다음과 같이 각 항목별로 색상의 변화가 있는 것을 확인할 수 있다.

jellybeans colorscheme 적용 전/후

jellybeans Custom Options

기존 색상 중 수정하고 싶은 색상 등 변경하고 싶은 부분은 아래와 같이 방금 적용한 :colorscheme jellybeans 위에 적어 놓으면 기존 색상이 변경된다.

물론 기존 다운로드한 jellybeans.vim 파일을 직접 수정해도 된다.

이 부분까지는..... 머 개인의 취향에 따라 선택적으로 적용하면 될 것 같다.

let g:jellybeans_overrides = {
\    'background': { 'guibg': '000000' },
\    'Todo': { 'guifg': '303030', 'guibg': 'f0f000',
\              'ctermfg': 'Black', 'ctermbg': 'Yellow',
\              'attr': 'bold' },
\    'Comment': { 'guifg': 'cccccc' },
\}