vim(vi) の設定ファイルを書いてみる1
2007年8月5日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 :
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を設定してあげることが出来ます。
既存のユーザーへは、コピーしてあげるか、各ユーザーへ配布してあげればいいと思います。