endif
endif
- " Automatically set paste mode in Vim when pasting in bracketed paste mode
- " https://coderwall.com/p/if9mda/automatically-set-paste-mode-in-vim-when-pasting-in-insert-mode
- function! WrapForTmux(s)
- if !exists('$TMUX')
- return a:s
- endif
+ " Bracketed paste mode
+ " https://github.com/ConradIrwin/vim-bracketed-paste/blob/master/plugin/bracketed-paste.vim
+ let &t_ti .= "\<Esc>[?2004h"
+ let &t_te = "\e[?2004l" . &t_te
- let tmux_start = "\<Esc>Ptmux;"
- let tmux_end = "\<Esc>\\"
-
- return tmux_start . substitute(a:s, "\<Esc>", "\<Esc>\<Esc>", 'g') . tmux_end
- endfunction
-
- let &t_SI .= WrapForTmux("\<Esc>[?2004h")
- let &t_EI .= WrapForTmux("\<Esc>[?2004l")
-
- function! XTermPasteBegin()
- set pastetoggle=<Esc>[201~
+ function! XTermPasteBegin(ret)
+ set pastetoggle=<f29>
set paste
- return ""
+ return a:ret
endfunction
- inoremap <special> <expr> <Esc>[200~ XTermPasteBegin()
+ execute "set <f28>=\<Esc>[200~"
+ execute "set <f29>=\<Esc>[201~"
+ map <expr> <f28> XTermPasteBegin("i")
+ imap <expr> <f28> XTermPasteBegin("")
+ vmap <expr> <f28> XTermPasteBegin("c")
+ cmap <f28> <nop>
+ cmap <f29> <nop>
endif
" Multiline comments often confuse vim syntax highlighting - these maps