Mercurial > vim
view runtime/autoload/paste.vim @ 13282:8db0345053b9 v8.0.1515
patch 8.0.1515: BufWinEnter event fired when opening hidden terminal
commit https://github.com/vim/vim/commit/ab5e7c3deb40328e1c7d40534ed8cd9da47a92f8
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Feb 13 14:07:18 2018 +0100
patch 8.0.1515: BufWinEnter event fired when opening hidden terminal
Problem: BufWinEnter event fired when opening hidden terminal.
Solution: Do not fire BufWinEnter when the terminal is midden and does not
open a window. (Kenta Sato, closes #2636)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 13 Feb 2018 14:15:06 +0100 |
parents | d91cf2e26ef0 |
children | fe57e4f0eac1 |
line wrap: on
line source
" Vim support file to help with paste mappings and menus " Maintainer: Bram Moolenaar <Bram@vim.org> " Last Change: 2017 Aug 30 " 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'] = "\<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 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