Câu trả lời:
Các executechức năng phải mất một chuỗi như là đối số, nó mở rộng chuỗi và thực hiện nó aa lệnh cũ thường xuyên. Do đó bạn có thể làm:
function! MyFunction(someArg)
execute "normal! ". a:someArg. "l"
endfunction
Đây .là một toán tử vimscript tiêu chuẩn để nối chuỗi.
executecó thể rút ngắn thành exe.
Xem :h :execute
EDIT Tôi sẽ thêm một điểm về nhận xét của @Christian Brabandt về việc kết hợp với a ..
Tài liệu nói:
Nhiều đối số được nối, với một khoảng trắng ở giữa. Để tránh không gian thừa, hãy sử dụng dấu "." toán tử để nối các chuỗi thành một đối số.
Vì vậy, lệnh có thể là:
execute "normal!" a:someArg . "l"
Lệnh được thực thi sẽ là:
normal! 2l
exe "norm!" variable