summaryrefslogtreecommitdiff
path: root/mnv/runtime/autoload/paste.mnv
diff options
context:
space:
mode:
Diffstat (limited to 'mnv/runtime/autoload/paste.mnv')
-rw-r--r--mnv/runtime/autoload/paste.mnv26
1 files changed, 26 insertions, 0 deletions
diff --git a/mnv/runtime/autoload/paste.mnv b/mnv/runtime/autoload/paste.mnv
new file mode 100644
index 0000000000..7af7e8b73c
--- /dev/null
+++ b/mnv/runtime/autoload/paste.mnv
@@ -0,0 +1,26 @@
+" MNV support file to help with paste mappings and menus
+" Maintainer: The MNV Project <https://github.com/Project-Tick/Project-Tick>
+" Last Change: 2023 Aug 10
+" Former Maintainer: Bram Moolenaar <Bram@mnv.org>
+
+" Define the string to use for items that are present both in Edit, Popup and
+" Toolbar menu. Also used in mswin.mnv and macmap.mnv.
+
+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