Comment peut-on utiliser une variable lors de l'exécution de quelque chose via normal!
dans vimscript?
Exemple:
function! MyFunction(someArg)
normal! (a:someArg)l
endfunction
Cela devrait déplacer les someArg
pas du curseur vers la droite.
vimscript
normal-mode
statox
la source
la source
exe "norm!" variable
Réponses:
La
execute
fonction prend une chaîne comme argument, elle développe la chaîne et l'exécute avec une commande ex régulière. Ainsi vous pouvez faire:Le
.
est un opérateur standard vimscript à cordes concaténer.execute
peut être raccourciexe
.Voir
:h :execute
EDIT J'ajouterai un point sur le commentaire de @Christian Brabandt sur la concaténation avec a
.
.Le doc dit:
La commande pourrait donc être:
La commande exécutée sera:
la source