Which image are you using? I ran echo $TERM through SSH and Cable with 159 and 159.devkit versions and I always got xterm as result (by default).
What have you tried to change the TERM variable?
You can set this variable using the Serial Terminal with export TERM=xterm-256color
If you are using PUTTY to ssh you can also set the use of colours in the settings of the software.
I am using OSX to access Edison using 'screen'. Changing the TERM variable is effective i.e. echo $TERM outputs xterm-256color now. But the terminal behaves very weirdly.
This is how my terminal looks like. Notice how the background is only black behind the text, and the number of rows is only half the screen. This does not happen when I ssh into the system, but for reasons beyond my control, I'm not able to while working on it.
Have you tried by changing the preferences of the Terminal Window?
About the number of lines while using vi, if you are using a Terminal Emulator through the USB port, you will see fewer rows than using a Terminal Emulator through SSH. You can scroll up and down by pressing ESC and then CTRL+U or CTRL+D respectively.