連載
» 2011年07月21日 00時00分 公開

設定ファイルを作って自分の好みに改造いまさら聞けないVim(6)(2/3 ページ)

[後藤大地,@IT]

検索や補完を働かせる設定

 Vimにはもともと検索機能があるが、入力したキーワードに完全一致するものを探すという基本的な機能しか持たない。そこで、設定を変更してインクリメンタル検索を使えるようにしよう。これは、キーワードの入力完了を待たずに、文字を入力するだけで、その都度検索機能が働くという機能だ。対象を探し出すのになかなか便利に使える。

 インクリメンタル検索を有効にするには以下のように設定する。

set incsearch

 次は、入力補完機能だ。この機能を有効にすると、コマンドラインモードで[Tab]を押すと、適切な文字を補完したり、補完候補を一覧表示させることができる。補完規則はいくつもあるが、list:fullあたりが扱いやすいのではないか。

 コマンドラインモードにおける補完機能を有効にするには、以下のように設定する。

set wildmenu wildmode=list:full

 補完規則は以下の7種類から選ぶ。

設定項目 補完規則
指定なし 最初に一致した候補を補完
full 補完候補を順次表示していく
longest 補完候補が1つだけのときのみ補完する
longest:full longestと同じだが、可能なときは一覧表示する
list 候補が2つ以上あるときに、すべての候補を一覧表示する
list:full listと同じように動き、最初に並ぶ候補を補完対象とする
list:longest listと同じように動くが、補完候補が1つに絞られるまで補完しない

 

シンタックスハイライトでコードを見やすく

 Vimの機能の中でも最も魅力的な機能がシンタックスハイライトだ。コードを書いているときに、言語の文法に応じて変数宣言や関数などの部分を色分け表示させることが可能だ。シンタックスハイライトを有効にするには次のように設定する。

syntax on
set nohlsearch
set cursorline

 ここではシンタックスハイライトを有効にすると同時に、検索したキーワードをハイライト表示にする機能を無効にしている。さらに、カーソルがある行を強調表示する設定も加えている。検索したキーワードがハイライト表示されると見にくく操作しにくくなることがあるからだ。一方、カーソルがある行を強調表示するのは結構便利なので有効にしておきたい。

 ターミナルは多くの場合、白背景か黒背景かで使うことが多い。それぞれカラー設定が異なるので、基本的な設定をしておくといい。黒背景の設定は次のようになる。

highlight Normal ctermbg=black ctermfg=grey
highlight StatusLine term=none cterm=none ctermfg=black ctermbg=grey
highlight CursorLine term=none cterm=none ctermfg=none ctermbg=darkgray

 一方、白背景を使うときは次のように設定するとよいだろう。

highlight Normal ctermbg=grey ctermfg=black
highlight StatusLine term=none cterm=none ctermfg=grey ctermbg=black
highlight CursorLine term=none cterm=none ctermfg=darkgray ctermbg=none

 色分け表示は好みが分かれるところなので、見にくいとかうるさいと感じるようならば徐々に変更していけばいいだろう。なお、上記ではカーソルラインの表示をアンダーラインから色による指定に変更している。アンダーバーによる表記はテキスト中のアンダーバー(アンダースコア)が分かりにくくなるため、色による区別の方が扱いやすい。

行番号とステータスライン

 Vimでは行番号を表示させることももちろんできる。ただし、ノートPCやネットブックなど、画面が小さいPCを使っているときは、作業領域をできるだけ広くしたいと思うことがあるだろう。場面によって使い分けたいところだ。

 また、行番号を表示するとコピー&ペーストしたときに行番号までコピーされてしまう。これを嫌って有効にしないこともある。set mouse=aに対応したターミナルで多機能なものならば、行番号を選択せずにテキストのみをマウスで選択できるものもある。

 行番号を表示させるには、以下のように設定する。

set number

 Vimはウィンドウの最下部に、編集中のファイルの名前などを表示する「ステータスライン」を表示させることができる。設定次第で、カーソル位置の行番号なども表示させることが可能だ。

 常にステータスラインを表示させるには、次のように設定する。

set laststatus=2
set statusline=%F%r%h%=

 1行目の「set laststatus=」の直後には0、1、2の3種類の数字のうちどれかを設定する。0に設定するとステータスラインを表示しない。1に設定すると、2つ以上ウィンドウがあるときだけ、ステータスラインを表示する。そして、3に設定すると、常にステータスラインを表示するようになる。

 2行目の「set statusline=」以降には、ステータスラインに表示させたい項目を並べる。表示できる項目と設定の記述法は以下の表の通りだ。

設定項目 表示する項目
%F 編集しているファイルの絶対パス
%f 編集しているファイルの相対パス
%t ファイル名
%r ファイルが読み込み専用であるときに“[RO]”と表示する
%= 左右を分けるセパレータを表示する
%l 行数
%c 列数
%p テキスト全体に対するカーソル位置までの割合(パーセント表示)

 ステータスラインに表示するデータは、複雑にすると意味が分からなくなってくるので、できるだけシンプルにした方がよいだろう。

肥大化した設定ファイルは分割する

 設定ファイルに設定をどんどん追加していくと、ファイルがどんどん肥大化して扱いにくくなる。そこで、用途ごとに設定を別々のファイルに分割し、~/.vimrcが読み込まれるときに自動的にすべての設定ファイルが読み込まれるようにしておくと便利だ。基本的な設定は~/.vimrc~/_vimrcに書いておき、例えばカラー表示関係の設定はcolor.vimというファイルに記述して特定のディレクトリやフォルダに置いておけばよい。

 例えば、以下のように設定すれば、分割した設定ファイルをすべて読むようになる。このときは、ホームディレクトリ/ホームフォルダの下に用意した~/.vim/userautoload/ディレクトリや~/_vimfiles/userautoload/フォルダに、.vimという拡張子のついたファイルを置く必要がある。こうしておけば、自動的に読み込まれる。

 UNIX/Linuxの場合は以下の通り。

set runtimepath+=~/.vim/
runtime! userautoload/*.vim

 Windowsの場合は以下の通り。

set runtimepath+=~/_vimfiles/
runtime! userautoload/*.vim

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。