aboutsummaryrefslogtreecommitdiff
path: root/runtime/autoload/paste.vim
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-08-01 16:43:14 +0200
committerJustin M. Keyes <justinkz@gmail.com>2019-08-01 16:43:14 +0200
commit87140f234ac1f152f6f273dee5ab1e42c7b1d78b (patch)
tree2e8e1b980a4fe1786db5e35a2a44c77b0d2ecce8 /runtime/autoload/paste.vim
parent1f6c9fd82202c14021d0e6aa3f5e4ad89877d2f8 (diff)
parent5342342426777160300a431ef8c9200fb151f793 (diff)
downloadrneovim-87140f234ac1f152f6f273dee5ab1e42c7b1d78b.tar.gz
rneovim-87140f234ac1f152f6f273dee5ab1e42c7b1d78b.tar.bz2
rneovim-87140f234ac1f152f6f273dee5ab1e42c7b1d78b.zip
Merge #10646 'vim-patch: runtime patches'
Diffstat (limited to 'runtime/autoload/paste.vim')
-rw-r--r--runtime/autoload/paste.vim46
1 files changed, 18 insertions, 28 deletions
diff --git a/runtime/autoload/paste.vim b/runtime/autoload/paste.vim
index dd7b3ae54a..2d787e7a1d 100644
--- a/runtime/autoload/paste.vim
+++ b/runtime/autoload/paste.vim
@@ -1,35 +1,25 @@
" Vim support file to help with paste mappings and menus
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2017 Aug 30
+" Last Change: 2019 Jan 27
" 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()<CR>"}
- let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
- let paste#paste_cmd['i'] = "\<c-\>\<c-o>\"+gP"
+let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
+let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
+let paste#paste_cmd['i'] = "\<c-\>\<c-o>\"+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<ESC> moving the cursor left
- normal! l
- endif
- let &ve = ove
- endfunc
-else
- let paste#paste_cmd = {'n': "\"=@+.'xy'<CR>gPFx\"_2x"}
- let paste#paste_cmd['v'] = '"-c<Esc>gix<Esc>' . paste#paste_cmd['n'] . '"_x'
- let paste#paste_cmd['i'] = 'x<Esc>' . paste#paste_cmd['n'] . '"_s'
-endif
+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<ESC> moving the cursor left
+ normal! l
+ endif
+ let &ve = ove
+endfunc