vi エディタは、設定ファイルを編集する事によりカスタマイズが可能です。
例えば、特定の語句をカラー表示したり、行番号を表示したりなどできます。
自分の好みと環境に合わせて設定を行う事によって、vi エディタが使いやすくなります。
vi(vim)の設定ファイルは「.vimrc」というファイルです。
エディタを起動すると、各ユーザのホームディレクトリにある .vimrc を読み込みますが、ホームディレクトリに .vimrc が存在しない場合には「/etc/vim/vimrc」を読み込みます。
ホームディレクトリの設定ファイルが優先されるので、各ユーザは自分のホームディレクトリに .vimrc を作成するか、/etc/vim/vimrc を .vimrc に名前を変更してホームディレクトリにコピーして使用します。
ホームディレクトリに置いた設置ファイルは隠しファイルなので間違えないように注意してください(ドットが付いて .vimrc です)。
コピー後は、ファイルの所有者及びグループをホームディレクトリのユーザに変更して、パーミッションも変えておきます。
例えば、「penguin」というユーザのホームディレクトリに .vimrc をコピーして設置したい場合には、次のようにします。
パーミッション等を変更するまではルートで作業しなければなりませんが、その後はユーザ権限でファイルの編集が可能になります。
# cp /etc/vim/vimrc /home/penguin/.vimrc <--- 設定ファイルをコピー
# chown penguin /home/penguin/.vimrc <--- .vimrc の所有者をユーザに変更
# chgrp penguin /home/penguin/.vimrc <--- .vimrc のグループをユーザに変更
# chmod 600 /home/penguin/.vimrc <--- .vimrc のパーミッションを変更
以上の作業の後は、ユーザ権限でファイルの編集ができます。
vi エディタの設定ファイルを編集するのにはvi エディタを使います(echo コマンドでもオプションの追記はできます)。
ホームディレクトリにて、次のようにするとvi エディタの設定ファイルである .vimrc が表示されます。
$ vi .vimrc
" An example for a vimrc file.
"
" Maintainer: Bram Moolenaar < Bram@vim.org >
" Last change: 2001 Jul 18
"
" To use it, copy it to
" for Unix and OS/2: ~/.vimrc
" for Amiga: s:.vimrc
" for MS-DOS and Win32: $VIM\_vimrc
" for OpenVMS: sys$login:.vimrc
" When started as "evim", evim.vim will already have done these settings.
if v:progname =~? "evim"
finish
endif
" Use Vim settings, rather then Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible
" allow backspacing over everything in insert mode
set backspace=indent,eol,start <--- backspace キーを押したときの動作
" read/write a .viminfo file, don't store more than 50 lines of registers
set viminfo='20,\"50
" show the cursor position all the time
set ruler <--- ルーラーの表示
set autoindent " always set autoindenting on
if has("vms") <--- vms オプションを付けた場合にはバックアップファイルの作成を禁止
set nobackup " do not keep a backup file, use versions instead
else
set backup " keep a backup file <--- バックアップファイルが作成される(ファイル名~)
endif
set history=50 " keep 50 lines of command line history <--- コマンド履歴保持数
set ruler " show the cursor position all the time
set showcmd " display incomplete commands
・
・中略
・
if &term == "xterm"
"set t_Co=8
set t_Sb=^[4%dm
set t_Sf=^[3%dm
endif
" vim:tw=78:sw=2:norl:
上記のように、初期状態でいくつかのオプションが指定されています。
このファイルに特定のオプションを追記する事により、vi エディタをカスタマイズします。
以下に、vi エディタの主なカスタマイズオプションを示します。
vi エディタの主なカスタマイズ項目
オプション |
動作 |
set autoindent |
改行時に上の行と同じく自動インデントする |
set number |
行番号を表示する |
set ruler |
ルーラー(右下に表示される行・列の番号)を表示する |
set tabstop=数値 |
タブの大きさを半角スペース数で指定 |
set nowrap |
折り返し表示しない |
set history=数値 |
コマンド履歴の保存数 |
set backup |
ファイルを保存する時にバックアップファイルを作成する |
set nobackup |
バックアップファイルを作成しない |
syntax on | off |
カラー表示のオンまたはオフ |
例えば、vi エディタで行番号を表示したい場合には、.vimrc を開いて適当な位置にset number を追記します。
上記のように、.vimrc を編集してvi エディタをカスタマイズすると、永続的に設定内容は維持されます。
しかし、一時的に行番号を表示したかったり、カラー表示をオフにしたい場合があります。
そのような時には、.vimrc を編集せずに、vi エディタのコマンドモードでオプションを指定する事で、一時的に設定を反映させる事ができます(vi を閉じるとオプションの効力は消えます)。
例えば、一時的にカラー表示をオフにしたいという時には、コマンドモードで次のようにします。
# 例として、.vimrc の一部
# 特定の文字列がカラー表示される場合、syntax on|off で表示を変更できる
" Use Vim settings, rather then Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible
" allow backspacing over everything in insert mode
set backspace=indent,eol,start
" read/write a .viminfo file, don't store more than 50 lines of registers
set viminfo='20,\"50
:syntax off <--- vi のコマンドモードで指定すると一時的に反映される
以上のように、vi エディタのカスタマイズは、設定を編集する方法とvi のコマンドモードで指定する方法があります。
設定内容を永続的に保持するか、一時的に反映させるかで使い分けると便利です。