Vimscript: как я могу вызвать функцию, но дождаться пользовательского ввода перед ее выполнением?

В правой части раскладки клавиш вы можете сделать что-то вроде :call FileTypeToggle("")<Left><Left> чтобы начать вызов функции в командной строке, переместите курсор между кавычками и подождите, пока пользователь заполнит аргумент и нажмите <CR> вручную.

Как вы можете сделать то же самое из функции? Я пробовал кучу перестановок execute, call, normalи ничего не работает. Я либо получаю ошибки о конце символов (<Left><Left>) или выполняет функцию, не дожидаясь ввода пользователя.

1 ответ

Решение

Используйте функцию ввода ().

let cmd = input("", "call FileTypeToggle(\"\")\<left>\<left>")
exe cmd
Другие вопросы по тегам