Respuestas:
La execute
función toma una cadena como argumento, expande la cadena y la ejecuta como un comando ex regular. Así puedes hacer:
function! MyFunction(someArg)
execute "normal! ". a:someArg. "l"
endfunction
El .
es un operador vimscript estándar para concatenar cadenas.
execute
se puede acortar a exe
.
Ver :h :execute
EDITAR Agregaré un punto sobre el comentario de @Christian Brabandt sobre la concatenación con a .
.
El documento dice:
Múltiples argumentos están concatenados, con un espacio en el medio. Para evitar el espacio extra, use el "." operador para concatenar cadenas en un argumento.
Entonces el comando podría ser:
execute "normal!" a:someArg . "l"
El comando ejecutado será:
normal! 2l
exe "norm!" variable