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
+ " 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
+
+ function! XTermPasteBegin(ret)
+ set pastetoggle=<f29>
+ set paste
+ return a:ret
+ endfunction
+
+ 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>
+
+ "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
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~
- set paste
- return ""
- endfunction
-
- inoremap <special> <expr> <Esc>[200~ XTermPasteBegin()
+ " https://vim.fandom.com/wiki/Change_cursor_shape_in_different_modes
+ let &t_EI.=WrapForTmux("\e[2 q") "EI = NORMAL mode (ELSE)
+ let &t_SI.=WrapForTmux("\e[6 q") "SI = INSERT mode
+ let &t_SR.=WrapForTmux("\e[4 q") "SR = REPLACE mode
+
+ "Cursor settings:
+ " 1 -> blinking block
+ " 2 -> solid block
+ " 3 -> blinking underscore
+ " 4 -> solid underscore
+ " 5 -> blinking vertical bar
+ " 6 -> solid vertical bar
endif
" Multiline comments often confuse vim syntax highlighting - these maps
endif
function! Code()
- setlocal tabstop=8 softtabstop=4 shiftwidth=4 expandtab
+ setlocal expandtab tabstop=8 softtabstop=4 shiftwidth=4
endfunction
command! Code call Code()
function! Text()
- setlocal tabstop=8 softtabstop=3 shiftwidth=3 expandtab
+ setlocal expandtab tabstop=8 softtabstop=3 shiftwidth=3
endfunction
command! Text call Text()
endif
" ----------
-" if has("iconv")
-" function! SetViminfoEncoding()
-" " Set universal encoding for .viminfo
-" if &encoding != 'utf-8'
-" set encoding=utf-8
-" endif
-" endfunction
-" autocmd VimLeavePre * call SetViminfoEncoding()
-" endif
-
" This has to go to the very end of ~/.vimrc to allow reading the .vimrc
set secure " safer working with script files in the current directory