-*eval.txt* For Vim version 7.4. Last change: 2014 Dec 07
+*eval.txt* For Vim version 7.4. Last change: 2015 Jan 27
VIM REFERENCE MANUAL by Bram Moolenaar
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.
+ come from a mapping or were typed by the user.
+ By default the string is added to the end of the typeahead
+ buffer, thus if a mapping is still being executed the
+ characters come after them. Use the 'i' flag to insert before
+ other characters, they will be executed next, before any
+ characters from a mapping.
The function does not wait for processing of keys contained in
{string}.
To include special keys into {string}, use double-quotes
't' Handle keys as if typed; otherwise they are handled as
if coming from a mapping. This matters for undo,
opening folds, etc.
+ 'i' Insert the string instead of appending (see above).
Return value is always 0.
filereadable({file}) *filereadable()*
typval_T *rettv UNUSED;
{
int remap = TRUE;
+ int insert = FALSE;
char_u *keys, *flags;
char_u nbuf[NUMBUFLEN];
int typed = FALSE;
case 'n': remap = FALSE; break;
case 'm': remap = TRUE; break;
case 't': typed = TRUE; break;
+ case 'i': insert = TRUE; break;
}
}
}
if (keys_esc != NULL)
{
ins_typebuf(keys_esc, (remap ? REMAP_YES : REMAP_NONE),
- typebuf.tb_len, !typed, FALSE);
+ insert ? 0 : typebuf.tb_len, !typed, FALSE);
vim_free(keys_esc);
if (vgetc_busy)
typebuf_was_filled = TRUE;