:Unite game する

最近vimでゲームが増えてきて嬉しい限りですがゲームが増えてくると「あれってどうやって起動するっけ?」ってことが多くなると思うので:Unite game したいですよね.
ということで以下のように.vimrcに書いとくといいと思います.もちろん要unite.vim

let s:unite_game_source = {
\   'name': 'game',
\ }

function! s:unite_game_source.gather_candidates(args,context)
    let games = {'Mine Sweeper' : 'MineSweeper',
                \'Snake' : 'Snake',
                \'Lights Out' : 'LightsOut',
                \'Sokoban' : 'Sokoban',
                \'Invader' : 'Invader',
                \'Mahjong' : 'Mahjong',
                \'Pacman'  : 'Pacman',
                \'Tetris'  : 'Tetris',
                \'Flood it'  : 'FloodIt',
                \}

    return sort(values(map(games,"{
                \ 'word': v:key,
                \ 'source' : 'game',
                \ 'kind' : 'command',
                \ 'action__command' : v:val,
                \ }")))
endfunction
call unite#define_source(s:unite_game_source)


まぁ単にgamesのディクショナリに候補にしたいゲームの{'検索用名前':'起動コマンド'}を入れとくだけです.kindはcommandです.
あんま格好良くないような気もしますがこうしとけば自分が好きなコマンドをuniteで実行できます.