There is good snippet for changing cursor color:
if &term =~ \"xterm\\\\|rxvt\"
\" use an orange cursor in insert mode
let &t_SI = \"\\]12
When using MacVim with 'Lokaltog/vim-powerline' you can setup your normal/visual/insert colors to match the powerline mode color. I find this extremely helpful to know what mode I'm in without reading the powerline, especially on a large screen.
Here is the code I am using, based on @Zarick-Lau's answer.
In my colors/molokai.vim
file:
" Visual Mode Orange Background, Black Text
hi Visual guifg=#000000 guibg=#FD971F
" Default Colors for CursorLine
highlight CursorLine guibg=#3E3D32
highlight Cursor guibg=#A6E22E;
" Change Color when entering Insert Mode
autocmd InsertEnter * highlight CursorLine guibg=#323D3E
autocmd InsertEnter * highlight Cursor guibg=#00AAFF;
" Revert Color to default when leaving Insert Mode
autocmd InsertLeave * highlight CursorLine guibg=#3E3D32
autocmd InsertLeave * highlight Cursor guibg=#A6E22E;
Here is an example using the molokai original color scheme.
Normal
Visual
Insert
I also find it's helpful to set the OS up to visually select using the same color too. For example, I've changed my highlight color to Orange
in OSX, and when I select text, it is now orange instead of blue, same as in VIM.
Example
Here the orange highlight being used in the text-box as I'm writing this Stack Overflow entry. Now all text I select in my OS matches the VIM setup.