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).
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'