Mercurial > vim
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 |