Running vim in Console2 does not show colours properly

The Windows shell (and with it, the Console2 wrapper) is limited to 16 colors, whereas GVIM can use the full 24-bit RGB palette. Therefore, even with colorscheme support for consoles, there usually are limitations.

The best you can achieve is adapt the shell's / Console2's color palette to the (maximum 16) RGB colors used by the twilight color scheme, and then adapt the ctermfg= and ctermbg= entries in the colorscheme to the corresponding indices.

Steps

In the colors/twilight.vim, you'll find the following definitions:

let s:grey_blue = '#8a9597'
let s:light_grey_blue = '#a0a8b0'
let s:dark_grey_blue = '#34383c'
let s:mid_grey_blue = '#64686c'
let s:beige = '#ceb67f'
let s:light_orange = '#ebc471'
let s:yellow = '#e3d796'
let s:violet = '#a999ac'
let s:green = '#a2a96f'
let s:lightgreen = '#c2c98f'
let s:red = '#d08356'
let s:cyan = '#74dad9'
let s:darkgrey = '#1a1a1a'
let s:grey = '#303030'
let s:lightgrey = '#605958'
let s:white = '#fffedc'

You need to redefine your Console2 colors in the color map to those (best trying to match similar existing colors, or other program output will look weird).

Console color settings

Then, modify the colors/twilight.vim script, adding the color terminal stuff, e.g. turn this

exe 'hi String         guifg='.s:green             .' guibg='.s:darkgrey        .' gui=none'

into (assuming you've used color #0 for s:darkgrey and #10 for s:green)

exe 'hi String         ctermfg=10 ctermbg=0 guifg='.s:green             .' guibg='.s:darkgrey        .' gui=none'