Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function! yankring#reset() abort
- let s:yankring = []
- for l:i in range(1, 9)
- execute 'let l:contents = @' . l:i
- call add(s:yankring, l:contents)
- endfor
- endfunction
- call yankring#reset()
- function! yankring#yank(contents) abort
- call insert(s:yankring, join(a:contents, "\<C-j>"))
- while len(s:yankring) > 9
- call remove(s:yankring, -1)
- endwhile
- call yankring#sync()
- endfunction
- function! yankring#sync() abort
- messages clear
- for l:n in range(len(s:yankring))
- execute 'let @' . l:n . ' = "' . escape(s:yankring[l:n], '"') . '"'
- endfor
- endfunction
- augroup yankring
- autocmd!
- autocmd TextYankPost * if empty(v:event['regname']) | call yankring#yank(v:event['regcontents']) | endif
- augroup END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement