viの設定ファイル

設定ファイルについて

vi設定ファイル

ホームディレクトリ$HOMEの「.exrc」が使われます。


vim設定ファイル

ホームディレクトリ$HOMEの「.exrc」と「.vimrc」が使われます。

Vimは「.exrc」を読み込んだ後に「.vimrc」を読み込みます。

「.exrc」にviとvimの共通で使えるオプションを書いておき、「.vimrc」にVimだけのオプションを書くという使い方が出来ます。


NetBSDの場合

ホームディレクトリに「.exrc」ファイルを作成しても作動しない場合があります。

修正方法としては、起動シェル、例えば「.shrc」に記述すると適用されます。


export EXINIT='set number|set tabstop=4'

設定方法

設定ファイルの内容は、EXコマンドとして実行されます。

EXコマンドとはノーマルモードで「:」を押すと入力することの出来るコマンドです。

設定はviのset系コマンドをコロン「:」なしで記述します。


vimの設定内容例


"
" VIM settings
"
"============================================================
"  基本設定
"============================================================
"viとの互換性をとらない
set nocompatible
"バックアップをとらないが、ファイルの上書き時に一時的にバックアップをとる
set nobackup
set writebackup
"行番号を表示する
set number
" ルラーを表示する
set ruler
" タイトルをウィンドウ枠に表示する
set title

" タブをスペースとする
set expandtab
" タブ幅
set tabstop=8
" 挿入されるタブ幅
set shiftwidth=8

" ステータスラインを常に表示する
set laststatus=2
" 入力時のコマンドを表示する
set showcmd
" モードを表示する
set showmode

" 全角スペースの表示
highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=darkgray
match ZenkakuSpace / /

" Vimの自動コメント挿入をさせない
augroup auto_comment_off
    autocmd!
    autocmd BufEnter * setlocal formatoptions-=r
    autocmd BufEnter * setlocal formatoptions-=o
augroup END

"============================================================
"  Search option
"============================================================
"検索文字列が小文字の場合は大文字小文字を区別なく検索する
set ignorecase
"検索文字列に大文字が含まれている場合は区別して検索する
set smartcase
"検索時に最後まで行ったら最初に戻る
set wrapscan
"検索文字列入力時に順次対象文字列にヒットさせない
set noincsearch
"検索結果文字列のハイライト表示
set hlsearch

"============================================================
"  cscope
"============================================================
if has("cscope")
    set csprg=/usr/bin/cscope
    set csto=0
    set cst
    set nocsverb
    " 現在ディレクトリのデータベースを読み込む
    if filereadable("cscope.out")
        cs add cscope.out
    elseif $CSCOPE_DB != ""
        " cs add $CSCOPE_DB
    endif
    set csverb
endif

"============================================================
" 文字コードの設定
"============================================================
"UTF-8を標準とする
set encoding=utf-8
set termencoding=utf-8
set fileencodings=utf-8,cp932,euc-jp,sjis

" 日本語を含まない場合は fileencoding に encoding を使うようにする 
if has('autocmd') 
    function! AU_ReCheck_FENC() 
    if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0 
        let &fileencoding=&encoding 
    endif 
    endfunction 
    autocmd BufReadPost * call AU_ReCheck_FENC() 
endif 

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


関連