vim(vi) の設定ファイルを書いてみる1

2007年8月5日 オフ 投稿者: KYO
Table of Contents

Linuxユーザーで、vimを使う方は多い?とは思うんですが、Windowsでいうマウス操作を基本とするエディタを使い慣れていると、若干・・・敬遠しがちになるもののようです。
私も最初、なかなか操作出来ずにいましたが。慣れてくると、結構かゆいところに手が届く。特に、検索・置換・正規表現・画面スクロール・・・・通常のエディタであれば、CtrlキーやShiftキー、ファンクションキーを組み合わせるようなことが意外とスムーズ。
テキストベースでの作業が多いWeb系の開発では、手放せなくなってきてます。
メモも兼ねて、私の環境の$HOME/.vimrcを掲載。

$HOME/.vimrc

こまかな説明などは後日・・・時間があれば。
基本的に、Windows版GVIMのVIMRCを参考にさせていただいてます。
特に、標準の.vimrcのままでは、UTF-8の文字コードの変換ミスがあるので、その部分だけでも追記しておくと便利かと。

"basic
set nobk
set bs=2
"charset
set fileformat=unix
set fileencoding=euc-jp
set fileencodings=euc-jp,utf-8,sjis,iso-2022-jp
set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,%c%V%8P "indent "set autoindent set smartindent set cindent "tab set ts=4 set sw=4 set sts=0 "search set incsearch set wrapscan set hlsearch "visible set visualbell set wildmenu set ruler set showcmd set laststatus=2 set number set title syntax on colorscheme evening "colorscheme edo_sea "programing peformance set formatoptions=qro set showmatch set foldmethod=marker foldmarker={{{,}}} set wildmode=list:full " dict " how to use : +x -> +k -> +n(候補表示)
autocmd FileType php :set dictionary=dict/PHP.vim
autocmd FileType perl :set dictionary=/usr/local/share/vim/vim63/syntax/perl.vimautocmd FileType c :set dictionary=/usr/local/share/vim/vim63/syntax/c.vim
autocmd FileType sh :set dictionary=/usr/local/share/vim/vim63/syntax/shell.vim
autocmd FileType html :set dictionary=/usr/local/share/vim/vim63/syntax/html.vim
autocmd FileType php :set dictionary=/usr/local/share/vim/vim63/syntax/php.vim
autocmd FileType sql :set dictionary=/usr/local/share/vim/vim63/syntax/sql.vim
" phpmanual
" :set source
"Japanese Encode
if &encoding !=# 'utf-8'
set encoding=japan
endif
set fileencoding=japan
if has('iconv')
let s:enc_euc = 'euc-jp'
let s:enc_jis = 'iso-2022-jp'
" iconvがJISX0213に対応しているかをチェック
if 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\|jisx0213\)$'
set fileencodings+=cp932
set fileencodings-=euc-jp
set fileencodings-=euc-jisx0213
let &encoding = s:enc_euc
else
let &fileencodings = &fileencodings .','. s:enc_euc
endif
endif
unlet s:enc_euc
unlet s:enc_jis
endif

他のユーザーへも適用したい

Linuxでは、ユーザーを追加する場合、/etcディレクトリの中にある設定ファイルをユーザーディレクトリである$HOMEにコピーして初期設定としてます。
そこで、今回作成した.vimrcを/etcディレクトリへコピーしておくと、今後のユーザー追加の時に同様の.vimrcを設定してあげることが出来ます。
既存のユーザーへは、コピーしてあげるか、各ユーザーへ配布してあげればいいと思います。