2026/03/21

~/.vimrc 유용한 설정



vim colorscheme:deus / airline theme:alduin / Netrw


~/.vimrc
set ruler                       " 상태표시줄에 커서 위치를 보여줌(ru)
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"