Respostas:
A execute
função pega uma string como argumento, expande a string e executa um comando ex regular. Assim você pode fazer:
function! MyFunction(someArg)
execute "normal! ". a:someArg. "l"
endfunction
O .
é um operador vimscript padrão para concatenar seqüências de caracteres.
execute
pode ser reduzido para exe
.
Vejo :h :execute
EDIT Vou adicionar um ponto sobre o comentário de @Christian Brabandt sobre a concatenação com a .
.
O documento diz:
Vários argumentos são concatenados, com um espaço no meio. Para evitar o espaço extra, use o "." operador para concatenar seqüências de caracteres em um argumento.
Portanto, o comando pode ser:
execute "normal!" a:someArg . "l"
O comando executado será:
normal! 2l
exe "norm!" variable