.vimrcの設定
UTF-8とEUC-JPが混在した環境をいじっていたら、ファイルのエンコーディングがわけわからなくなったので。
.vimrcをカスタマイズしてみました。
参考にしたエントリーは以下の二つです。
.vimrc
"---------------------------------------------------- " 基本的な設定 "---------------------------------------------------- " viとの互換性をとらない(vimの独自拡張機能を使う為) set nocompatible " 改行コードの自動認識 set fileformats=unix,dos,mac " ビープ音を鳴らさない set vb t_vb= " バックスペースキーで削除できるものを指定 " indent : 行頭の空白 " eol : 改行 " start : 挿入モード開始位置より手前の文字 set backspace=indent,eol,start "---------------------------------------------------- " バックアップ関係 "---------------------------------------------------- " バックアップをとらない set nobackup " ファイルの上書きの前にバックアップを作る " (ただし、backup がオンでない限り、バックアップは上書きに成功した後削除される) set writebackup " バックアップをとる場合 "set backup " バックアップファイルを作るディレクトリ "set backupdir=~/backup " スワップファイルを作るディレクトリ "set directory=~/swap "---------------------------------------------------- " 検索関係 "---------------------------------------------------- " コマンド、検索パターンを100個まで履歴に残す set history=100 " 検索の時に大文字小文字を区別しない set ignorecase " 検索の時に大文字が含まれている場合は区別して検索する set smartcase " 最後まで検索したら先頭に戻る set wrapscan " インクリメンタルサーチを使わない "set noincsearch " インクリメンタルサーチ set incsearch "---------------------------------------------------- " 表示関係 "---------------------------------------------------- " タイトルをウインドウ枠に表示する set title " 行番号を表示しない set nonumber " ルーラーを表示 set ruler " タブ文字を CTRL-I で表示し、行末に $ で表示する "set list " 入力中のコマンドをステータスに表示する set showcmd " ステータスラインを常に表示 set laststatus=2 " 括弧入力時の対応する括弧を表示 set showmatch " 対応する括弧の表示時間を2にする set matchtime=2 " シンタックスハイライトを有効にする syntax on " 検索結果文字列のハイライトを有効にする set hlsearch " コメント文の色を変更 highlight Comment ctermfg=DarkCyan " コマンドライン補完を拡張モードにする set wildmenu " 入力されているテキストの最大幅 " (行がそれより長くなると、この幅を超えないように空白の後で改行される)を無効にする set textwidth=0 " ウィンドウの幅より長い行は折り返して、次の行に続けて表示する set wrap " 全角スペースの表示 highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=darkgray match ZenkakuSpace / / " ステータスラインに表示する情報の指定 set statusline=%n\:%y%F\ \|%{(&fenc!=''?&fenc:&enc).'\|'.&ff.'\|'}%m%r%= " ステータスラインの色 highlight StatusLine term=NONE cterm=NONE ctermfg=black ctermbg=white "---------------------------------------------------- " インデント "---------------------------------------------------- " オートインデントを無効にする "set noautoindent " タブが対応する空白の数 set tabstop=4 " タブやバックスペースの使用等の編集操作をするときに、タブが対応する空白の数 set softtabstop=4 " インデントの各段階に使われる空白の数 set shiftwidth=4 " タブを挿入するとき、代わりに空白を使わない set noexpandtab "---------------------------------------------------- " 国際化関係 "---------------------------------------------------- " 文字コードの設定 " fileencodingsの設定ではencodingの値を一番最後に記述する set encoding=utf-8 set termencoding=utf-8 set fileencoding=utf-8 set fileencodings=ucs-bom,euc-jp,cp932,iso-2022-jp set fileencodings+=,ucs-2le,ucs-2,utf-8 "---------------------------------------------------- " オートコマンド "---------------------------------------------------- if has("autocmd") " ファイルタイプ別インデント、プラグインを有効にする filetype plugin indent on " カーソル位置を記憶する autocmd BufReadPost * \ if line("'\"") > 0 && line("'\"") <= line("$") | \ exe "normal g`\"" | \ endif endif "---------------------------------------------------- " その他 "---------------------------------------------------- " バッファを切替えてもundoの効力を失わない set hidden " 起動時のメッセージを表示しない set shortmess+=I "---------------------------------------------------- " 独自設定 "---------------------------------------------------- " スクロール時の余白確保 set scrolloff=5 " 他で書き換えられたら自動で読み直す set autoread " 行番号表示 set number " インデント set autoindent set smartindent set cindent set noexpandtab " タブをスペースに展開しない " コマンド補完を開始するキー set wildchar=<tab> set whichwrap=b,s,h,l,<,>,[,] " カーソルを行頭、行末で止まらないようにする " キーバインド関係 " 行単位で移動(1行が長い場合に便利) nnoremap j gj nnoremap k gk " カレントウィンドウにのみ罫線を引く augroup cch autocmd! cch autocmd WinLeave * set nocursorline autocmd WinEnter,BufRead * set cursorline augroup END
vimはとっても奥が深い・・・