vim will honor the number of colors reported by `tput colors`,

tput colors makes its decision based on your shell’s TERM variable.

You might want to look into changing your TERM variable to xterm-256colors or some such.