Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am used to having a block cursor in normal mode in Vim. This makes sense with the Vim paradigm; when you press x, it is clear which character will be deleted.

I've installed Cygwin on a Windows computer, but when I use Vim in its terminal, I get the I cursor, even in normal mode. How can I make the cursor be a block instead?

share|improve this question
up vote 26 down vote accepted

This question on the Cygwin mailing list answers the question by setting some arcane variables to the appropriate escape sequences. Add this to your .vimrc:

let &t_ti.="\e[1 q"
let &t_SI.="\e[5 q"
let &t_EI.="\e[1 q"
let &t_te.="\e[0 q"
share|improve this answer
this worked for me when using mintty to ssh to a linux server – zzapper Apr 15 '14 at 12:41
Thank you so much. Gotta love a clean solution that works in 2 most annoying cases :) – rld. Jun 8 '14 at 5:58

There's a setting for that:

rightclick on bar > Options > Looks > Cursor > Cursor radio button

share|improve this answer
To complete, this kind of options are the same as any other windows terminal window, which cygwin is. – mveroone Aug 22 '13 at 9:35
Pro: my .vimrc can be more compatible with my Linux or Windows .vimrc. Con: now I have the block cursor in insert mode, when I wanted the I cursor in that mode. +1 – Kazark Aug 22 '13 at 13:21
the question was asking about controlling the cursor in VIM but this answer affects the cursor for the entire shell session, both at the command prompt and in VIM – David Alpert Jan 15 at 16:09

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.