comparison runtime/autoload/paste.vim @ 718:7b21554be7a1

updated for version 7.0219
author vimboss
date Thu, 09 Mar 2006 22:27:48 +0000
parents
children 1f3b1021f002
comparison
equal deleted inserted replaced
717:2fa8cb05b861 718:7b21554be7a1
1 " Vim support file to help with paste mappings and menus
2 " Maintainer: Bram Moolenaar <Bram@vim.org>
3 " Last Change: 2006 Mar 09
4
5 " Define the string to use for items that are present both in Edit, Popup and
6 " Toolbar menu. Also used in mswin.vim and macmap.vim.
7
8 " Pasting blockwise and linewise selections is not possible in Insert and
9 " Visual mode without the +virtualedit feature. They are pasted as if they
10 " were characterwise instead. Add to that some tricks to leave the cursor in
11 " the right position, also for "gi".
12 if has("virtualedit")
13 let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
14 let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
15 let paste#paste_cmd['i'] = '<Esc>' . paste#paste_cmd['n'] . 'gi'
16
17 func! paste#Paste()
18 let ove = &ve
19 set ve=all
20 normal! `^
21 if @+ != ''
22 normal! "+gP
23 endif
24 let c = col(".")
25 normal! i
26 if col(".") < c " compensate for i<ESC> moving the cursor left
27 normal! l
28 endif
29 let &ve = ove
30 endfunc
31 else
32 let paste#paste_cmd = {'n': "\"=@+.'xy'<CR>gPFx\"_2x"}
33 let paste#paste_cmd['v'] = '"-c<Esc>gix<Esc>' . paste#paste_cmd['n'] . '"_x'
34 let paste#paste_cmd['i'] = 'x<Esc>' . paste#paste_cmd['n'] . '"_s'
35 endif
36
37 if has("virtualedit")
38 else
39 endif