Ответы:
execute
Функция принимает строку в качестве аргумента, он расширяет строку и выполнить ее аа регулярную команду экс. Таким образом, вы можете сделать:
function! MyFunction(someArg)
execute "normal! ". a:someArg. "l"
endfunction
Это .
стандартный оператор vimscript для объединения строк.
execute
можно сократить до exe
.
Видеть :h :execute
РЕДАКТИРОВАТЬ Я добавлю пункт о комментарии @Christian Brabandt о конкатенации с .
.
Док говорит:
Несколько аргументов объединяются с пробелом между ними. Чтобы избежать лишних пробелов, используйте "." оператор для объединения строк в один аргумент.
Таким образом, команда может быть:
execute "normal!" a:someArg . "l"
Выполненная команда будет:
normal! 2l
exe "norm!" variable