Vim has the :terminal command, which opens a window with a terminal session inside. According to the documentation (:help terminal-cursor-style),

By default the cursor in the terminal window uses a not blinking block. The normal xterm escape sequences can be used to change the blinking state and the shape.

I added the following to my .vimrc:

" Make the cursor always a blinking underscore
let &t_SI .= "\<Esc>[3 q"
let &t_SR .= "\<Esc>[3 q"
let &t_EI .= "\<Esc>[3 q"

That sets the cursor style for regular vim windows, but not terminal windows. How can I override the default "not blinking block" cursor in terminal windows?

1 Answer 1


Suppose &shell is set to /usr/bin/bash, then append
printf '\033[3 q' to ~/.bashrc; launch a new vim
instance and run :term and launch another vim instance
from that terminal window and run :term, ad libitum.

Depending on how the outermost vim instance is launched,
you may not need for it your three capability lines from

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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