scripte utf-8

" ¿À¸®Áö³Î Vi ¿ÍÀÇ È£È¯¼ºÀ» ¾ø¾Ö°í, Vim ¸¸ÀÇ ±â´ÉµéÀ» ¾µ ¼ö ÀÖ°Ô ÇÔ.
set nocp

" ¸ðµç ¿É¼ÇÀ» ¿ø·¡´ë·Î º¹¿ø
set all&

" ¸í·É¾î ±â·ÏÀ» ³²±æ °¹¼ö ÁöÁ¤
set hi=100

" ¹é½ºÆäÀÌ½º »ç¿ë
set bs=indent,eol,start

" ÀÎÄÚµù ¼³Á¤
" ¹®¼­¸¦ ÀÐÀ» ¶§ BOM À» ÀÚµ¿À¸·Î Á¦°ÅÇÏ·Á¸é, fencs ¸Ç ¾Õ¿¡ ucs-bom ¸¦ Ãß°¡ÇÏ¼¼¿ä.
"let &tenc=&enc
"set enc=utf-8
set fenc=utf-8
set fencs=utf-8,cp949,cp932,euc-jp,shift-jis,big5,latin1,ucs-2le

" Ä¿¼­ÀÇ À§Ä¡¸¦ Ç×»ó º¸ÀÌ°Ô ÇÔ.
set ru

" ¿Ï¼ºÁßÀÎ ¸í·ÉÀ» Ç¥½Ã
set sc

" ÁÙ ¹øÈ£ Ç¥½Ã
"set nu

" ÁÙ ¹øÈ£ Ç¥½Ã ³Êºñ ¼³Á¤
"set nuw=5

" ÅÇ Å©±â ¼³Á¤
set ts=8
set sw=4

" ÅÇ -> °ø¹é º¯È¯ ±â´É (»ç¿ë ¾ÈÇÔ)
set noet
set sts=4

" ¸¶Áö¸· ÆíÁý À§Ä¡ º¹¿ø ±â´É
au BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\   exe "norm g`\"" |
\ endif

" gVim À» »ç¿ëÁßÀÏ °æ¿ì Å¬¸³º¸µå¸¦ unnamed ·¹Áö½ºÅÍ·Î ¸ÅÇÎ
" xterm_clipboard ±â´ÉÀÌ ÀÖÀ» ¶§¿¡µµ ¸ÅÇÎ °¡´É
if has("gui_running") || has("xterm_clipboard")
	set cb=unnamed
endif

" magic ±â´É »ç¿ë
set magic

" ¿©·¯ °¡Áö ÀÌµ¿ µ¿ÀÛ½Ã ÁÙÀÇ ½ÃÀÛÀ¸·Î ÀÚµ¿ ÀÌµ¿
set sol

" ºñÁÖ¾ó ¸ðµå¿¡¼­ÀÇ µ¿ÀÛ ¼³Á¤
set sel=exclusive

" SHIFT Å°·Î ¼±ÅÃ ¿µ¿ªÀ» ¸¸µå´Â °ÍÀ» Çã¿ë
" ¿µ¿ª »óÅÂ¿¡¼­ Ctrl+F,B ·Î ÀÌµ¿ÇÏ¸é ¿µ¿ªÀÌ ÇØÁ¦µÇ¾î ¹ö·Á¼­ ÇØÁ¦
"set km=startsel,stopsel

" °¡¿îµ¥ ¸¶¿ì½º ¹öÆ°À¸·Î ºÙ¿©³Ö±â ÇÏ´Â °ÍÀ» ¹«È¿È­ÇÑ´Ù.
map <MiddleMouse> <Nop>
map! <MiddleMouse> <Nop>

" °ýÈ£Â¦ Ã£±â ±â´É¿¡ »ç¿ëÀÚ °ýÈ£ Á¾·ù¸¦ ´õÇÑ´Ù.
set mps+=<:>

" »õ·Î Ãß°¡µÈ °ýÈ£ÀÇ Â¦À» º¸¿©ÁÖ´Â ±â´É
"set sm

" Insert Å°·Î paste »óÅÂ¿Í nopaste »óÅÂ¸¦ ÀüÈ¯ÇÑ´Ù.
" ÇÔ¼ö ¹æ½ÄÀ¸·Î ¹Ù²Ù¾ú´Ù. ÀÚ¼¼ÇÑ °ÍÀº ¾Æ·¡·Î~
"set pt=<Ins>

" Å° ÀÔ·Â ´ë±â½Ã°£À» ¹«Á¦ÇÑÀ¸·Î, ±×·¯³ª key codes ¿¡ ´ëÇØ¼­´Â ¿¹¿Ü
set noto ttimeout

" Å° ÀÔ·Â ´ë±â½Ã°£ ¼³Á¤ (milliseconds) (ttm À» À½¼ö·Î ¼³Á¤ÇÏ¸é tm À» µû¶ó°¨)
set tm=3000 ttm=100

" ¿µ¿ªÀÌ ÁöÁ¤µÈ »óÅÂ¿¡¼­ Tab °ú Shift-Tab À¸·Î µé¿©¾²±â/³»¾î¾²±â¸¦ ÇÒ ¼ö ÀÖµµ·Ï ÇÔ.
"vmap <Tab> >gv
"vmap <S-Tab> <gv

" ÀÔ·ÂÀÌ Áß´ÜµÈ ÈÄ ¾ó¸¶ ÈÄ¿¡ swap ÆÄÀÏÀ» ¾µ °ÍÀÎÁö¿Í
" CursorHold ÀÌº¥Æ®ÀÇ ´ë±â½Ã°£À» ¼³Á¤ (milliseconds)
set ut=10

" ¸î ±ÛÀÚ¸¦ ÀÔ·Â¹ÞÀ¸¸é swap ÆÄÀÏÀ» ¾µ °ÍÀÎÁö ¼³Á¤
set uc=200


""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" ¸ð¾ç ¼³Á¤
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" GUI ÀÌ¸é, ½ÃÀÛ½Ã Å©±â ¼³Á¤
if has("gui_running")
	set lines=40
	set co=85
endif

" ½ÃÀÛ½Ã ÀüÃ¼È­¸éÀ¸·Î ¼³Á¤
" ÀÌÁ¦ ÀÌ°Íµµ ±ÍÂú¾ÆÁ³´Ù...!
if has("win32")
"	au GUIEnter * simalt ~x
endif

" ÃßÀû ¼öÁØÀ» ÃÖ´ë·Î
set report=0

" Ç×»ó status ¶óÀÎÀ» Ç¥½ÃÇÏµµ·Ï ÇÔ.
set ls=2


""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" GUI ¼³Á¤
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" ÆùÆ® ¼³Á¤
if has("gui_running")
	if has("win32")
		set gfn=±¼¸²Ã¼:h9:cHANGEUL
"		set gfn=GulimChe:h9:cHANGEUL
	else
		set gfn=GulimChe\ 9
	endif
"	set gfn=Jung9\ 9
"	set gfn=Fixedsys:h12:cHANGEUL
endif


""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" filetype ±â´É & Syntax Highlighting ±â´É
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" ÆÄÀÏÀÇ Á¾·ù¸¦ ÀÚµ¿À¸·Î ÀÎ½Ä
filet plugin indent on

" ¸î¸î Ä¿½ºÅÒ È®ÀåÀÚµé¿¡°Ô ÆÄÀÏ Çü½Ä ¼³Á¤
"au BufRead,BufNewFile *.dic setl ft=php

" ÆÄÀÏ Çü½Ä¿¡ µû¸¥ Syntax Highlighting ±â´ÉÀ» ÄÒ´Ù
sy enable


""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" indent ¼³Á¤
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" ÀÚµ¿ µé¿©¾²±â »ç¿ë ¾ÈÇÔ
set noai

" ¶È¶ÈÇÑ µé¿©¾²±â »ç¿ë ¾ÈÇÔ
set nosi

" ³»ÀåµÈ indent ÆÄÀÏÀÌ ¾ø¾î¼­ C indent ¸¦ »ç¿ëÇÏ´Â °æ¿ì
au FileType javascript,jsp setl cin

" °¢ ¾ð¾îÀÇ Ç¥ÁØ indent ¸¦ »ç¿ëÇÏ´Â °æ¿ì
" ¼öµ¿ Ãß°¡ÇÏ±â°¡ ±ÍÂú¾ÆÁ®¼­ °á±¹ ÀÚµ¿ ÀÎ½ÄÀ¸·Î ¹Ù²å´Ù.
"au FileType c,cpp,html,vim,java,sh,python,xml,perl,xf86conf,conf,apache
"\ if expand("<amatch>") != "" |
"\   if exists("b:did_indent") |
"\		unlet b:did_indent |
"\   endif |
"\ runtime! indent/<amatch>.vim |
"\ endif

" »ó¿ë±¸ ¼³Á¤
iab xdate <C-R>=strftime("%Y-%m-%d %H:%M:%S")<CR>
iab xtime <C-R>=strftime("%H:%M:%S")<CR>
"iab xname ÀÎÅ¬·çµå

" BufExplorer ÇÃ·¯±×ÀÎ (½ºÅ©¸³Æ® ¹øÈ£: 42)
" :ls ¿Í :b ¿¡ ÀÍ¼÷ÇØÁ®¼­ ÀÌÁ¨ ÇÊ¿ä¾ø´Ù...
"nnoremap <silent> <F5> :BufExplorer<CR>

" Vim ÀÚÃ¼ Explore ±â´É
" :E ¶ó´Â °Ô ÀÖ¾ú±º...
"nnoremap <silent> <F6> :Explore<CR>

" Vim Á¤±Ô½ÄÀÌ ¾Æ´Ñ ÁøÂ¥ Á¤±Ô½Ä »ç¿ëÀ» ÀÇ¹«È­(?)
" \v ¶ó´Â ±ÛÀÚ°¡ Ç×»ó Ç¥½ÃµÇ´Ï±î ÇÞ°¥¸°´Ù... -.-
"map / /\v

" Tab ÀÚµ¿ ¿Ï¼º½Ã °¡´ÉÇÑ ¸ñ·ÏÀ» º¸¿©ÁÜ
set wmnu

" ÆÄÀÏ Å½»ö±â ¼³Á¤
let g:explVertical=1
let g:explSplitRight=1
let g:explStartRight=1
let g:explWinSize=20

" Spell Checking ±â´É (¿µ¾î)
" ±âº»ÀûÀ¸·Î´Â ºñÈ°¼ºÈ­
"set nospell spelllang=en

" °¢Á¾ toggle ±â´É
fu! ToggleNu()
	let &nu = 1 - &nu
endf
fu! ToggleList()
	let &list = 1 - &list
endf
fu! TogglePaste()
	let &paste = 1 - &paste
endf
fu! ToggleSpell()
	let &l:spell = 1 - &l:spell
endf
map \n :call ToggleNu()<CR>
map \l :call ToggleList()<CR>
map \p :call TogglePaste()<CR>
map \s :call ToggleSpell()<CR>


" ¸ÅÅ©·Î ½ÇÇàÁß¿¡ È­¸éÀ» ´Ù½Ã ±×¸®Áö ¾ÊÀ½
set lz

" ÇÁ·Î±×·¥ ½ÃÀÛ½Ã ÇÃ·¯±×ÀÎ ·Îµå
set lpl

"noeol ¼³Á¤
"au BufNew * set bin | set noeol
"set bin | set noeol

" ¤²¤¼ barosl Àº ¸ðµç ÇÃ·§Æû¿¡¼­ unix ÁÙ º¯°æÀÚ¸¦ ¾²°Ú½À´Ï´Ù! ..orz
" °æ°í: ¸¸ÀÏ ´ç½ÅÀÇ vim ÀÌ 'Á¤»óÀûÀ¸·Î' µ¿ÀÛÇÏ±æ ¿øÇÏ½Ã¸é,
" ¹Ù·Î ´ÙÀ½ÁÙÀº ÁÖ¼®Ã³¸® ÇÏ°Å³ª ¾ø¾Ö¼¼¿ä. -.-;;
set ff=unix

" unix dos mac ÁÙ º¯°æÀÚ ¸ðµÎ ´Ù ÀÐÀ» ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.
set ffs=unix,dos,mac


""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" End of File
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

set nohls
colorscheme desert
set cursorcolumn
set cursorline

nmap <F5> :wa <CR>:!python %<CR>
nmap <tab> zi
set foldmethod=indent
set tabstop=8 sw=4 softtabstop=4 smarttab expandtab
set showmatch hidden incsearch ignorecase smartcase smartindent hlsearch
set pastetoggle=<Ins>
augroup filetypedetect
    au BufNewFile,BufRead *.moin setf moin
    au BufNewFile,BufRead *.wiki setf moin
augroup END

