Відповіді:
execute
Функція приймає рядок в якості аргументу, він розширює рядок і виконати її аа регулярну команду екс. Таким чином ви можете зробити:
function! MyFunction(someArg)
execute "normal! ". a:someArg. "l"
endfunction
.
Є стандартним vimscript оператором для конкатенації рядків.
execute
можна скоротити до exe
.
Побачити :h :execute
EDIT Я додам крапку щодо коментаря @Christian Brabandt про конкатенацію з a .
.
Доктор каже:
Кілька аргументів об'єднані, між ними пробіл. Щоб уникнути зайвого місця, використовуйте "." оператор для об'єднання рядків в один аргумент.
Отже командою могло бути:
execute "normal!" a:someArg . "l"
Виконана команда буде:
normal! 2l
exe "norm!" variable