From 5b77877888162f4e415fe9a7b8c5e9fb5dfb6ee1 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Wed, 27 Sep 2017 20:43:42 +0200 Subject: Add syntax files from upstream vim repository --- autoload/paste.vim | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 autoload/paste.vim (limited to 'autoload/paste.vim') diff --git a/autoload/paste.vim b/autoload/paste.vim new file mode 100644 index 00000000..3121eb13 --- /dev/null +++ b/autoload/paste.vim @@ -0,0 +1,39 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1 + +" Vim support file to help with paste mappings and menus +" Maintainer: Bram Moolenaar +" Last Change: 2017 Aug 30 + +" Define the string to use for items that are present both in Edit, Popup and +" Toolbar menu. Also used in mswin.vim and macmap.vim. + +" Pasting blockwise and linewise selections is not possible in Insert and +" Visual mode without the +virtualedit feature. They are pasted as if they +" were characterwise instead. Add to that some tricks to leave the cursor in +" the right position, also for "gi". +if has("virtualedit") + let paste#paste_cmd = {'n': ":call paste#Paste()"} + let paste#paste_cmd['v'] = '"-c' . paste#paste_cmd['n'] + let paste#paste_cmd['i'] = "\\\"+gP" + + func! paste#Paste() + let ove = &ve + set ve=all + normal! `^ + if @+ != '' + normal! "+gP + endif + let c = col(".") + normal! i + if col(".") < c " compensate for i moving the cursor left + normal! l + endif + let &ve = ove + endfunc +else + let paste#paste_cmd = {'n': "\"=@+.'xy'gPFx\"_2x"} + let paste#paste_cmd['v'] = '"-cgix' . paste#paste_cmd['n'] . '"_x' + let paste#paste_cmd['i'] = 'x' . paste#paste_cmd['n'] . '"_s' +endif + +endif -- cgit v1.2.3