I use iTerm2 (Build 1.0.0.20130319) and Vim (bin of MacVim Snapshot 66) on top of OS X 10.7.5 as my CLI editing team.
In iTerm2 I defined to use a non-blinking vertical bar as a cursor shape. In Vim I defined
" Enter insert mode (Cursor shape: vertical bar)
let &t_SI = "\<Esc>]50;CursorShape=1\x7"
" Leave insert mode (Cursor shape: block)
let &t_EI = "\<Esc>]50;CursorShape=0\x7"
to be able to distinct between insert and normal mode. Basically this works fine. The problem arises when I leave Vim and return to the CLI. What happens is that the cursor does not return in its initial shape (vertical bar). Instead it decides to stay in a block shape.
Could I reset the cursor to it's initial shape or force it to return to be a vertical bar? I Could imagine to trigger an event on e.g. "VimLeave". But I don't know what I could pass as an escape sequence.
I tried this method before because I was used to Gvim's cursor style when switching to terminal. But I met the same problem and had no way to fix it.
Finally I have been using changing Cursor colour method. Once I got used to the style, I'm quite happy it and forget the cursor shape at all.
Change Cursor colour method
Then set similar but different colour for
Cursor
thanNormal
in the theme if there is no built-in scheme in this theme.Source: http://vim.wikia.com/wiki/Configuring_the_cursor
My sum of three methods for identifying insert mode in terminal: How to make cursor change in different modes in vim?
Did you try this?
After a little bit more digging into
:help
I found out thatwould revert the cursor shape to its initial, or let's say a defined, shape. That works great so far.
Does anyone know downsides of that approach? Besides
VimLeave
one could also triggerVimLeavePre
orQuitPre
.EDIT: Even better there's a new plugin available which does exactly what some people are looking for.
https://github.com/jszakmeister/vim-togglecursor
It's a little bit configurable, too:
I'm using Iterm with regular vim. This sets cursor solid on launch vim, blinks on insert mode. And returns to blinking on exit vim.