vimrc

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

else

let &fileencodings = &fileencodings .','. s:enc_euc

endif

endif

" 定数を処分

unlet s:enc_euc

unlet s:enc_jis

endif

" 改行コードの自動認識

set fileformats=unix,dos,mac

"-----------------------------------------------------------------------------

" 編集関連

"

"オートインデントする

set autoindent

"-----------------------------------------------------------------------------

" 検索関連

"

"検索文字列が小文字の場合は大文字小文字を区別なく検索する

set ignorecase

"検索文字列に大文字が含まれている場合は区別して検索する

set smartcase

"検索時に最後まで行ったら最初に戻る

set wrapscan

"検索文字列入力時に順次対象文字列にヒットさせない

set noincsearch

"-----------------------------------------------------------------------------

" 装飾関連

"

"シンタックスハイライトを有効にする

syntax on

"行番号を表示しない

set nonumber

"タブの左側にカーソル表示

set listchars=tab:\ \

set list

"Tabを明示的に表示させる

set listchars=tab:>-

set list

"タブ幅を設定する

set tabstop=4

set shiftwidth=4

"入力中のコマンドをステータスに表示する

set showcmd

"括弧入力時の対応する括弧を表示

set showmatch

"検索結果文字列のハイライトを有効にする

set hlsearch

"ステータスラインを常に表示

set laststatus=2

"ステータスラインに文字コードと改行文字を表示する

set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,%c%V%8P

"カーソルを点滅しないようにする

set guicursor=a:blinko0

"-----------------------------------------------------------------------------

" マップ定義

"

"バッファ移動用キーマップ

" F2: 前のバッファ

" F3: 次のバッファ

" F4: バッファ削除

map :bp

map :bn

map :bw

"表示行単位で行移動する

nnoremap j gj

nnoremap k gk

"フレームサイズを怠惰に変更する

map +

map -