"============================================================================= " FILE: autoload/incsearch/over/modules/bulk_input_char.vim " AUTHOR: haya14busa " License: MIT license "============================================================================= scriptencoding utf-8 let s:save_cpo = &cpo set cpo&vim " IncsearchBulkInputChar bulk insert characters and avoid updating for each " character input. It's useful while execution macro or pasting text clipboard. " CAUTION: cannot test getchar(0) with themis.vim let s:bulk_input_char = { \ 'name': 'IncsearchBulkInputChar' \ } function! s:bulk_input_char.on_char_pre(cmdline) abort let stack = [] let c = 1 while c let c = getchar(0) if c != 0 let stack += [nr2char(c)] elseif !empty(stack) call a:cmdline.set_input_key_stack(stack) endif endwhile endfunction function! incsearch#over#modules#bulk_input_char#make() abort return deepcopy(s:bulk_input_char) endfunction let &cpo = s:save_cpo unlet s:save_cpo " __END__ " vim: expandtab softtabstop=2 shiftwidth=2 foldmethod=marker