.vimrc

"
"       俺様ちゃん用.vimrc
"

"やっぱり行数わからないとな!
set number

"勝手にインデントだぜ!
set autoindent

"タブスペースは4に限る!
set tabstop=4
set shiftwidth=4

"括弧の対応がわかっちまう!
set showmatch

"検索打ち込み中にも検索だ!
set incsearch

"ウィンドウの大きさはこれくらい!
set winwidth=105
set winheight=65
set winminwidth=10
set winminheight=5

"スクロールから下の行がわからないのは気に食わないぜ!
set scrolloff=5

"勝手にプレビューしちゃうぜ!
set updatetime=500
au! CursorHold *.[ch] nested call PreviewWord()

"必要なタグファイルを指定すんだよ!
set tags=./tags

"VS環境でのコンパイルに対応中!!!
set ffs=dos

"なんとなく使いやすいキー配置になるぜ!
noremap z $
noremap 0 _

"面倒くさいコマンドをキーに割り当てだぜ!
nnoremap  :w:make
nnoremap  :w:make tag

"カーソル位置の単語検索
map  :grep "" *.c *.h
map  :grep "" *.c *.h
map  :grep "/" *.c *.h
map  :cn
map  :cp

" 文字コードの自動認識
if &encoding !=# 'utf-8'
        set encoding=japan
        set fileencoding=japan
endif
if has('iconv')
        let s:enc_euc = 'euc-jp'
        let s:enc_jis = 'iso-2022-jp'
        " iconvがeucJP-msに対応しているかをチェック
        if iconv("\x87\x64\x87\x6a", 'cp932', 'eucjp-ms') ==# "\xad\xc5\xad\xcb"
                let s:enc_euc = 'eucjp-ms'
                let s:enc_jis = 'iso-2022-jp-3'
                " iconvがJISX0213に対応しているかをチェック
        elseif iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb"
                let s:enc_euc = 'euc-jisx0213'
                let s:enc_jis = 'iso-2022-jp-3'
        endif
        " fileencodingsを構築
        if &encoding ==# 'utf-8'
                let s:fileencodings_default = &fileencodings
                let &fileencodings = s:enc_jis .','. s:enc_euc .',cp932'
                let &fileencodings = &fileencodings .','. s:fileencodings_default
                unlet s:fileencodings_default
        else
                let &fileencodings = &fileencodings .','. s:enc_jis
                set fileencodings+=utf-8,ucs-2le,ucs-2
        if &encoding =~# '^\(euc-jp\|euc-jisx0213\|eucjp-ms\)$'
                set fileencodings+=cp932
                set fileencodings-=euc-jp
                set fileencodings-=euc-jisx0213
                set fileencodings-=eucjp-ms
                let &encoding = s:enc_euc
                let &fileencoding = s:enc_euc
        else
                let &fileencodings = &fileencodings .','. s:enc_euc
        endif
endif
        " 定数を処分
        unlet s:enc_euc
        unlet s:enc_jis
endif

" UTF-8の□や○でカーソル位置がずれないようにする
if exists("&ambiwidth")
        set ambiwidth=double
endif

" 改行コードの自動認識
set fileformats=unix,dos,mac