summaryrefslogtreecommitdiffstats
path: root/runtime/autoload/paste.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/autoload/paste.vim')
-rw-r--r--runtime/autoload/paste.vim26
1 files changed, 26 insertions, 0 deletions
diff --git a/runtime/autoload/paste.vim b/runtime/autoload/paste.vim
new file mode 100644
index 0000000..1ba336c
--- /dev/null
+++ b/runtime/autoload/paste.vim
@@ -0,0 +1,26 @@
+" Vim support file to help with paste mappings and menus
+" Maintainer: The Vim Project <https://github.com/vim/vim>
+" Last Change: 2023 Aug 10
+" Former Maintainer: Bram Moolenaar <Bram@vim.org>
+
+" 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.
+
+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