Assuming your terminal emulator doesn't claim to support 256 colors ($ echo $TERM
should output a string that doesn't contain 256color
) and you didn't lie to Vim about that (:echo &t_Co
should output 8
or 16
), Vim should honor the "ANSI" colors you defined in your terminal emulator.
The built-in colorschemes all use those "ANSI" colors — either by name or by number — by default but many third party colorschemes are specifically designed for the GUI and/or for 256 colors terminal emulators. Those colorschemes generally don't work at all (or very poorly) in 8/16 colors setups.
So you will need to experiment with built-in and third party colorschemes to find the "perfect" combination.
You can look for the clues below to tell if a colorscheme will work in your setup:
ctermfg=red use of names means it works in 8/16 color terminals
ctermfg=7 use of numbers below 16 means it works in 8/16 color terminals
ctermfg=123 use of numbers between 16 and 255 means it works in 256 color terminals
guifg=... means it works in GUI Vim