2) :call append('$', split(IndexByWord(['foo', 'bar']), '\n'))
:h append(
append({lnum}, {expr}) *append()*
When {expr} is a |List|: Append each item of the |List| as a
text line below line {lnum} in the current buffer.
:h split(
split({expr} [, {pattern} [, {keepempty}]]) *split()*
Make a |List| out of {expr}.
Использование '$'
в качестве lnum равно последней строке в буфере.
Вам необходимо использовать split (), поскольку функция, на которую вы ссылались, IndexByWord (), возвращает строку. Мне кажется, что вы можете изменить IndexByWord (), чтобы он возвращал список.
Если вы измените эту строку в IndexByWord ():
return join(result_list, "\n")
в
return result_list
Добавление немного проще, чем:
:call append('$', IndexByWord(['foo', 'bar']))