I would like to change VIM\'s (not gVIM\'s) cursor depending on what mode I am currently in. I would like:
I have gnome-terminal 3.10.2 and I got it working with the following steps:
Create a script called gnome-terminal-cursor-shape.sh:
#!/bin/sh
DEFAULTPROF=`dconf read /org/gnome/terminal/legacy/profiles:/default`
DEFAULTPROF=`echo "$DEFAULTPROF" | sed -e "s/^'/:/" -e "s/'$//"`
dconf write /org/gnome/terminal/legacy/profiles:/$DEFAULTPROF/cursor-shape "'$1'"
And call it with ibeam, block or underline to change cursor shape.
Put the script in /usr/bin or /usr/local/bin, and add the following lines to your .vimrc:
if has("autocmd")
au InsertEnter *
\ if v:insertmode == 'i' |
\ silent execute "!gnome-terminal-cursor-shape.sh ibeam" |
\ elseif v:insertmode == 'r' |
\ silent execute "!gnome-terminal-cursor-shape.sh underline" |
\ endif
au InsertLeave * silent execute "!gnome-terminal-cursor-shape.sh block"
au VimLeave * silent execute "!gnome-terminal-cursor-shape.sh block"
endif
For me, gnidmoos solution worked after changing the script script called gnome-terminal-cursor-shape.sh to:
#!/bin/sh
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/cursor_shape" --type string "$1"
(using the same lines in .vimrc)
Ps. I'm running ubuntu 14.04, GNOME Terminal 3.6.2
Cheers!