diff options
Diffstat (limited to 'examples/xterm-keys.vim')
-rw-r--r-- | examples/xterm-keys.vim | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/examples/xterm-keys.vim b/examples/xterm-keys.vim new file mode 100644 index 00000000..5672c26a --- /dev/null +++ b/examples/xterm-keys.vim @@ -0,0 +1,49 @@ +" tmux.vim - Set xterm input codes passed by tmux +" Author: Mark Oteiza +" License: Public domain +" Description: Simple plugin that assigns some xterm(1)-style keys to escape +" sequences passed by tmux when "xterm-keys" is set to "on". Inspired by an +" example given by Chris Johnsen at: +" https://stackoverflow.com/a/15471820 +" +" Documentation: help:xterm-modifier-keys man:tmux(1) + +if exists("g:loaded_tmux") || &cp + finish +endif +let g:loaded_tmux = 1 + +function! s:SetXtermCapabilities() + set ttymouse=sgr + + execute "set <xUp>=\e[1;*A" + execute "set <xDown>=\e[1;*B" + execute "set <xRight>=\e[1;*C" + execute "set <xLeft>=\e[1;*D" + + execute "set <xHome>=\e[1;*H" + execute "set <xEnd>=\e[1;*F" + + execute "set <Insert>=\e[2;*~" + execute "set <Delete>=\e[3;*~" + execute "set <PageUp>=\e[5;*~" + execute "set <PageDown>=\e[6;*~" + + execute "set <xF1>=\e[1;*P" + execute "set <xF2>=\e[1;*Q" + execute "set <xF3>=\e[1;*R" + execute "set <xF4>=\e[1;*S" + + execute "set <F5>=\e[15;*~" + execute "set <F6>=\e[17;*~" + execute "set <F7>=\e[18;*~" + execute "set <F8>=\e[19;*~" + execute "set <F9>=\e[20;*~" + execute "set <F10>=\e[21;*~" + execute "set <F11>=\e[23;*~" + execute "set <F12>=\e[24;*~" +endfunction + +if exists('$TMUX') + call s:SetXtermCapabilities() +endif |