mirror of
https://github.com/neovim/neovim.git
synced 2024-12-23 20:55:18 -07:00
a98a6996c2
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7 Excluding: Amiga icons (*.info, icons/) doc/hangulin.txt tutor/ spell/ lang/ (only used for menu translations) macros/maze/, macros/hanoi/, macros/life/, macros/urm/ These were used to test vi compatibility. termcap "Demonstration of a termcap file (for the Amiga and Archimedes)" Helped-by: Rich Wareham <rjw57@cam.ac.uk> Helped-by: John <john.schmidt.h@gmail.com> Helped-by: Yann <yann@yann-salaun.com> Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com> Helped-by: drasill <github@tof2k.com> Helped-by: Tae Sandoval Murgan <taecilla@gmail.com> Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
36 lines
1.2 KiB
VimL
36 lines
1.2 KiB
VimL
" Vim support file to help with paste mappings and menus
|
||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||
" Last Change: 2006 Jun 23
|
||
|
||
" 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'] = 'x<BS><Esc>' . paste#paste_cmd['n'] . 'gi'
|
||
|
||
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
|