Vim を 256 色で使いたい

  以前ターミナルを 256 色にしたのですが,せっかくなので Vim も 256 色で使いたいと思って以下のようなスクリプトを書きました.

#!/usr/bin/env perl

use strict;
use warnings;

my $fg = "\x1b[38;5;";
my $bg = "\x1b[48;5;";
my $rs = "\x1b[0m";

my $color = 0;

for (my $row = 0; $row < 32; ++$row) {
    for (my $col = 0; $col < 8; ++$col) {
        print get_color($color);
        $color++;
    }
    print "\n";
}

sub get_color {
    my ($color) = @_;
    my $number = sprintf '%3d', $color;
    return qq/${bg}${color}m ${number} ${rs} ${fg}${color}m${number}${rs} /;
}


  さて,こいつは何をするかというと,使っているターミナル上で何番の番号が何の色かを表示するものです.
  自分の環境では以下のようになります (クリックして大きくなります).

  

  この番号はそのまま Vim の色指定の番号になります.
  つまり ctermfg とか ctermbg とかに,表示された色を見ながら番号を指定することができます.
  例えば,上記スクリプトで表示された色番号 21 を使いたい場合は,以下のように設定する感じですね.

hi diffAdded    ctermfg=21


  こうやって設定して vim -d をしたサンプルです.淡い色も使えていい感じです.