Not sure what the terminology is for it but on Vim the 'cursor' is always like an insert/replace cursor instead of the blinking line cursor I'm used to in other gui editors. Is there any way to change this when in insert mode?
-
1Please don't [cross-post](http://stackoverflow.com/questions/4777950/vim-change-block-cursor-when-in-insert-mode). – Dennis Williamson Jan 24 '11 at 02:38
-
See http://stackoverflow.com/a/42118416/52817 – laktak Feb 08 '17 at 16:25
4 Answers
If you are talking about vim
inside a shell, you should configure the cursor style in your terminal emulator. Even if you do so, Vim can't toggle the cursor style on-the-fly. That's a limitation of the terminal itself.
If you are talking about the graphical version of vim, called gvim
(or macvim
), then look at Nupraptor answer.
BTW, I think this question is better suited to the Superuser.com site.

- 573
- 4
- 8
This plugin for vim will actually change the cursor on the fly in iterm (and tmux)
It has a few bugs if you're in tmux, but works great outside of it: https://github.com/sjl/vitality.vim

- 203
- 1
- 8
If you're talking about gvim, then you can change the cursor to an 'I' when in insert mode with:
set guicursor=i:ver100-iCursor
EDIT: The 'i' is for insert mode. You can also define it for 'n', 'v', 'c' or 'a' (normal mode, visual mode, command mode or all modes, respectively).

- 413
- 4
- 7
maybe it would be enough to change the color acording to which mode you were in? If so I use. "CURSOR COLOUR When in terminal " change the color of the cursor to white in command mode,and orange in insert mode
if &term =~ "xterm\\|rxvt"
:silent !echo -ne "\033]12;white\007"
let &t_SI = "\033]12;orange\007"
let &t_EI = "\033]12;white\007"
autocmd VimLeave * :!echo -ne "\033]12;white\007"
endif

- 1
- 1