set showcmd " 미완성 명령 표시(sc)
set showmatch " 매치되는 괄호의 반대쪽을 보여줌(sm)
set hlsearch " 하이라이팅 검색(hls)
set incsearch " 점진적으로 찾기(is)
set ignorecase " 찾기에서 대/소문자를 구별하지 않음(ic)
set hidden " 미저장 버퍼를 숨김 처리하여 경고 없이 전환(hid)
set foldmethod=indent " 들여쓰기 기준으로 코드 접기(fdm)
set foldlevelstart=99 " 파일 열 때 모든 폴드 펼친 상태로 시작(fdls)
set foldminlines=3 " 3줄 미만은 접기 대상에서 제외(fml)
set relativenumber " 상대적 줄번호 표시(rnu)
set cursorline " 커서 줄 하이라이트(cul)
set scrolloff=8 " 스크롤 시 커서 위아래 여백 유지(so)
set sidescrolloff=8 " 스크롤 시 커서 좌우 여백 유지(siso)
set splitright " vsplit 시 새 창을 오른쪽에 열기(spr)
set splitbelow " split 시 새 창을 아래쪽에 열기(sb)
set belloff=all " visual bell, error bell off
set laststatus=2 " 상태표시줄 항상 표시(ls)
let &t_ti .= "\e[2 q" " Vim 시작시 block
let &t_SI = "\e[5 q" " 입력모드 진입시 bar
let &t_EI = "\e[2 q" " 입력모드 탈출시 block
let g:netrw_banner = 0 " Netrw 상단 배너 제거
let g:netrw_sort_by = "exten" " Netrw 확장자 정렬
let g:netrw_sort_options = "i" " Netrw 대소문자 무시
let g:netrw_liststyle = 3 " Netrw Tree style
let g:netrw_keepdir = 0 " 루트에서 Lex 빈창 버그 회피
let mapleader="," " <leader> 키를 ,로 설정
"버퍼리스트 출력후 버퍼선택 커서
nnoremap <leader>n :ls<CR>:b<Space>
nnoremap <leader>m :bp<CR> " 이전 버퍼로 이동
nnoremap <leader>. :bn<CR> " 다음 버퍼로 이동
nnoremap <leader>/ :bn<BAR>bd#<CR> " 다음 버퍼로 이동 후 이전 버퍼 삭제
nnoremap <leader>h <C-w>h " 왼쪽창 이동
nnoremap <leader>j <C-w>j " 아래창 이동
nnoremap <leader>k <C-w>k " 위쪽창 이동
nnoremap <leader>l <C-w>l " 우측창 이동
nnoremap <leader>q <C-w>q " 창 닫기
nnoremap <leader>e :20Lex<CR> " 우측에 20칸 폭으로 Netrw 생성
nnoremap <leader>w :set wrap!<CR> " Wrap Toggle
inoremap jk <Esc> " 입력모드에서 jk로 Esc
nnoremap Y y$ " Y를 D처럼 커서부터 줄 끝까지 복사
nnoremap n nzzzv " 다음 검색 결과 이동 후 화면 중앙 정렬
nnoremap N Nzzzv " 이전 검색 결과 이동 후 화면 중앙 정렬
nnoremap <Esc><Esc> :noh<CR> " Esc 두번으로 검색 하이라이트 제거
** ~/.bashrc에 alias를 설정해 두면 netrw와 함께 vim시작할 수 있음.
alias v='/usr/bin/vim -c "20Lex" -c "wincmd w"'
alias reload="source ~/.bashrc"
alias bconf="vim ~/.bashrc"
alias vconf="vim ~/.vimrc"

