Câu trả lời:
Các execute
chứ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.
execute
có 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