내가 즐겨쓰는 vimrc 
{{{
" vim 설정
set viminfo='20,\"50
set wildmenu

" BS, DEL 설정
set bs=2
set t_kb=^H
set t_kD=^?

" 옵션 끄기
set textwidth=0 " textwidth 제한 끄기

" tab 을 tab으로 쓰기 위한 설정
set sts=0 " tap -> space 변환 끄기 ( 0으로 하면 꺼진다 )
set nocindent " cindent 를 끈다. ( sw 가 space만 입력한다. indent로 tab을 사용하려면 꺼야함 )
set noexpandtab " expandtab 을 끈다. ( indent로 tab을 사용하려면 꺼야함 )

" 하이라이트 관련
set hlsearch " / search 시 하이라이트
set incsearch " / search 시 실시간으로 패턴을 찾아주는 기능

" 괄호 등 사용시 매치를 보여줌(잠시 깜박이기)
set showmatch

set scrolloff=3 " 스크롤할 때 위아래 3줄 유지

" status bar 항상 나오게
set laststatus=2
" status bar 내용 정의 웹에서 퍼옴
"status 바에 나올 내용을 정한다
"\(%n\) = 버퍼 번호 
"%f = 현재 파일 이름 
"%B = 현재 커서 아래 문자의 헥스 코드 
"(%l,%c%V%) = 행 번호, 컬럼 번호 등. 
"%P = 현재 위치 % 
"이정도쯤 되고 나머지는 포매팅 문자일 겁니다. 
"나머지는 :help statusline 참조
set statusline=\(%n\)%<%f\ %h%m%r%=0x%B\ \ \ \ %-14.(%l,%c%V%)\ %P 

syntax on

behave mswin

" 탭, 인덴테이션 등의 설정
set ts=4
set autoindent
set sw=4
set sm

set nu
"set bg=dark
colorscheme torte

" CVS stuff 
" :UP 하면 수정하던 파일이 cvs update 가 되고 
" :CI 하면 cvs commit 이 된다
cmap UP !cvs update %<CR>:e! %<CR> 
cmap CI !cvs commit %<CR> 

" 현재 파일을 python 으로 실행
"cno PY !c:\\python24\\python.exe -i "%<CR>"
cno PY !c:\\python24\\python.exe "%<CR>"
map <F5> :PY

" select all
map <F2> :0<CR> V]]

" 주석처리 block 지정 후(혹은 한줄에 대고)
" F3 을 누르면 // 를 맨 앞에 추가, 
" F4 는 해제
" ^[ 는 ctrl+v 누르후 esc 를 누르면 추가되는 한문자
map <F3> :s/^/\/\//^[<enter>:nohlsearch<enter>
map <F4> :s/^\/\///^[<enter>

" folding 설정 --------------------------------------------------------------
" doxygen 코멘트 처리는 ~/.vim/after/syntax/cpp.vim 을 사용한다.
set foldmethod=syntax
autocmd BufRead *.h syn region myFold start="{" end="}" transparent fold
autocmd BufRead *.cpp syn region myFold start="{" end="}" transparent fold
autocmd BufRead *.c syn region myFold start="{" end="}" transparent fold
autocmd BufRead *.c syn sync fromstart

" java 파일 읽을 때는 myjava.vim 을 import 
"au BufNewFile,BufRead *.java :source ~/.vim/myjava.vim

" 문서 보던 자리로 jump 해서 열어준다
" .viminfo 로부터 커서 위치를 읽어오는 것
" When editing a file, always jump to the last known cursor position. 
" Don't do it when the position is invalid or when inside an event handler 
" (happens when dropping a file on gvim). 
autocmd BufReadPost * 
 \ if line("'\"") > 0 && line("'\"") <= line("$") | 
 \   exe "normal g`\"" | 
 \ endif 

" Clever Tab features -------------------------------------------------------
function! CleverTab()
    if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
        return "\<Tab>"
    elseif strpart( getline('.'), col('.')-1, 1 ) == ' '
		return "\<Tab>"
    else 
        return "\<C-N>"
endfunction
inoremap <Tab> <C-R>=CleverTab()<CR>

"""""" 이하 GUI 관련 옵션들

" a 블럭 선택시 클립보드로 자동복사
" m 메뉴
" r(오른쪽) l(왼쪽) b(아래) 스크롤바
" T   툴바
set guioptions=amr

" 한영 입력 상태에 따라 커서 색깔을 다르게..
"if has('multi_byte_ime')
"    highlight Cursor guibg=white guifg=NONE
"    highlight CursorIM guibg=Yellow guifg=NONE
"endif

set selectmode=mouse " 마우스로 블럭 설정 가능하게
set guifont=굴림체:h12 " 폰트 설정
set lines=40 columns=100 " 창크기설정

" (수정) 임시 파일, 백업 파일 생성 경로
set dir=D:\vimbackup\
set bdir=D:\vimbackup\
}}}