{{{~cpp set nocompatible set title set autoindent " 자동으로 들여쓰기를 한다. set bs=2 " allow backspacing over everything in insert mode set viminfo='20,"50 " read/write a .viminfo file, don't store more set ruler " show the cursor position all the time set number set background=light set softtabstop=4 set shiftwidth=4 set tabstop=4 set incsearch set vb set exrc " 특정디렉토리에서 .exrc 파일의 설정을 적용하게 함 set mouse=n set fencs=utf8,euc-kr "set fencs=euc-kr,utf8 syntax on let TE_WinWidth = 20 " TagExplorer 창크기 조절 " Function Key map K " man page map :w "map :so $VIMRUNTIME/syntax/2html.vim " make HTML map [{v]}zf " file folding map zo " file unfolding map :Tlist^Ww:20vs ./:set nonu^Ww^Ww map :cl map :cn " 에러(결과) 위치로 map :cp " 에러(결과) 위치로(역순) map :noh " 하이라이트 제거 map gd " 어떤 함수 안에서 지역변수를 추적 map ^] " 전역변수/구조체/정의상수/함수정의를 추적 map :make " 빌드 map ^T " 이전위치로 되돌아오기 map :make again " 모두 새로 빌드 set hlsearch set guifont=monospace "set guifont=miscfixed "set guifont=gulimche\ 9 colo default "colo koehler let $grepfile="*.[ch] *.cpp" map ,gc :grep * -R vnoremap :IncN filetype on filetype indent on filetype plugin on au BufWinLeave *.py mkview " 보던 .py 파일의 예전 위치에 커서 위치시키기 au BufWinEnter *.py silent loadview " au BufWinLeave *.c mkview " 보던 .c 파일의 예전 위치에 커서 위치시키기 au BufWinEnter *.c silent loadview " au BufNewFile *.cpp call InsertSkeleton() "0r ~/.vim/skeleton.cpp au BufNewFile *.h call InsertHeaderSkeleton() function! InsertSkeleton() 0r ~/.vim/skeleton.cpp call InsertInclude() endfunction function! InsertHeaderSkeleton() 0r ~/.vim/skeleton.h call InsertFname() endfunction function! InsertInclude() let fname = expand("%:t") let fname = substitute(fname, "cpp", "h", "g") call search("#include") exe "normal A " . """ . fname . """ endfunction function! InsertFname() " Convert newname.h to _NEWNAME_H_ let fname = expand("%:t") let cname = "C" . substitute(fname, "\.h", "", "g") let fname = toupper(fname) let fname = substitute(fname, "\.", "_", "g") " Search for #ifndef call search("#ifndef") exe "normal A " . "___" . fname . "___" " Search for #define call search("#define") exe "normal A " . "___" . fname . "___" " Search for #endif call search("#endif") exe "normal A " . "// ___" . fname . "___" " Search for #class call search("class") exe "normal A" . cname . " {" " Search for public call search("public:") exe "normal A" . "\n" . cname . "() {}\nvirtual ~" . cname . "() {}" endfunction " " vim -b : edit binary using xxd-format! augroup Binary au! au BufReadPre *.bin let &bin=1 au BufReadPost *.bin if &bin | %!xxd au BufReadPost *.bin set ft=xxd | endif au BufWritePre *.bin if &bin | %!xxd -r au BufWritePre *.bin endif au BufWritePost *.bin if &bin | %!xxd au BufWritePost *.bin set nomod | endif augroup END augroup CvsLogging au! au BufNewFile,BufRead /tmp/cvs* set fenc=utf-8 enc=utf-8 augroup END augroup ChangeLog au! au BufNewFile,BufRead ChangeLog* set fenc=utf-8 enc=utf-8 augroup END source ~/.vim/plugin/word_complete.vim call DoWordComplete() }}}