ubichupas.net

vimのカラースキームを設定する方法

CentOSの最小構成(CentOS-6.5-x86_64-minimal.iso)だと普通のviしか含まれていないため、まずvim-enhancedパッケージをインストールしましょう。
# yum install vim-enhanced

vimで強調表示するキーワードの設定は/usr/share/vim/vim7?/syntax/*.vimに様々なプログラミング言語のものが予め用意されています。

拡張子などからファイルタイプを自動判別されなかった場合は「:setf python」のように指定します。 強調表示を有効化するvimのコマンドは「:syntax on」です。


強調表示する際の色設定は/usr/share/vim/vim7?/colors/*.vimにいくつか用意されていますが、それだけだと物足りないためWeb公開されているカラースキームを入手しましょう。 なかでもTomorrowはvimだけでなく様々なエディタ用の設定ファイルが揃っていて人気のようです。

Tomorrow.vimファイルをダウンロードしたら~/.vim/colorsに配置します。 色設定を変更するvimのコマンドは「:colorscheme Tomorrow」です。


さて、ここで問題発生。 カラースキームを適用したのに原色バリバリで期待したような美しさがありません。 何を間違えたのかと思案したところ、そもそもTera Term経由でアクセスしているためフルカラー表示ができないのでした。


対処方法を探るためTomorrow.vimファイルの中身を確認してみたところ、以下のような256色表示に合わせた配色へ誘導する記述があり、vim側から「:set t_Co=256」と指定してやればよいことがわかりました。
if has("gui_running") || &t_Co == 88 || &t_Co == 256
Tera Termを使うときは256色表示に対応したカラースキームを選びましょう。


好みの色設定が決まったら~/.vimrcファイルに追記します。
set nocompatible
set backspace=start,eol,indent
set noswapfile nobackup
set termencoding=utf-8
set enc=euc-jp fenc=euc-jp ff=unix
set tabstop=4 expandtab shiftwidth=4
set number
set cursorline
set t_Co=256
colorscheme Tomorrow-Night-Bright
syntax on

自分の場合は~/.bashrcファイルでエイリアスを作っておき、viコマンドを用途に合わせて呼び分けています。 ついでに-pオプションを付けておけばコマンドラインから複数ファイルをタブで開けるので便利です。
alias evi='vim -u ~/.vim/vimrc_evi -p'

タブ操作についてはファイルを開くのに「:tabf FILE」、他のタブをまとめて閉じるのに「:tabo」、タブを切り替えるのに「gt」または「gT」とだけ覚えておきましょう。