Skip to content

Instantly share code, notes, and snippets.

@andyfowler
Created September 5, 2011 18:08
Show Gist options
  • Save andyfowler/1195581 to your computer and use it in GitHub Desktop.
Save andyfowler/1195581 to your computer and use it in GitHub Desktop.
Swap iTerm2 cursors in vim insert mode when using tmux
" tmux will only forward escape sequences to the terminal if surrounded by a DCS sequence
" http://sourceforge.net/mailarchive/forum.php?thread_name=AANLkTinkbdoZ8eNR1X2UobLTeww1jFrvfJxTMfKSq-L%2B%40mail.gmail.com&forum_name=tmux-users
if exists('$TMUX')
let &t_SI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=1\x7\<Esc>\\"
let &t_EI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\"
else
let &t_SI = "\<Esc>]50;CursorShape=1\x7"
let &t_EI = "\<Esc>]50;CursorShape=0\x7"
endif
@luong-komorebi
Copy link

A note if you are using tmux with a custom term-info (like many tutorials in the internet instructs you to have something like - italic in vim)
This is what you want inside your tmux.conf (assuming using iterm2 + tmux)

set -g default-terminal 'tmux-256color' # replace this with your custom term-info name
set -ga terminal-overrides ',*:Tc' # this is for 256 color
set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q' # this is for the cursor shape

@Yossarian0916
Copy link

won't work for tmux 2.6 and terminator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment