
Untitled
By: a guest on
Apr 26th, 2012 | syntax:
None | size: 1.29 KB | hits: 22 | expires: Never
How do I emulate a keypress inside a Vim function?
function BigScrollUp()
let count = 20
while count > 0
"Press" CTRL-Y <-- how do I emulate this?
sleep 5m
count -= 1
endwhile
endfunction
" Press CTRL-Y:
normal <Ctrl+v><Ctrl+y>
feedkeys({string} [, {mode}]) *feedkeys()*
Characters in {string} are queued for processing as if they
come from a mapping or were typed by the user. They are added
to the end of the typeahead buffer, thus if a mapping is still
being executed these characters come after them.
The function does not wait for processing of keys contained in
{string}.
To include special keys into {string}, use double-quotes
and "..." notation |expr-quote|. For example,
feedkeys("<CR>") simulates pressing of the <Enter> key. But
feedkeys('<CR>') pushes 5 characters.
If {mode} is absent, keys are remapped.
{mode} is a String, which can contain these character flags:
'm' Remap keys. This is default.
'n' Do not remap keys.
't' Handle keys as if typed; otherwise they are handled as
if coming from a mapping. This matters for undo,
opening folds, etc.
Return value is always 0.
call feedkeys("<C-Y>")