2010-07-17 4 views
0

J'ai une fonction Vimscript définie comme ceci:Utilisation d'un argument d'une fonction en mode normal dans Vim?

function Cs(a, b) 
    normal a:a|"cylr a:b|x"cP 
endfunction 

Cependant, l'action envisagée (faire des choses folles avec les arguments a et b en mode normal) ne fonctionne pas, il faut plutôt le premier un » "comme" ajouter "et écrit le reste de la ligne dans le fichier.

Comment puis-je utiliser des arguments sur une instruction "normal" dans Vimscript? Je n'ai trouvé aucun moyen de le faire.

Répondre

2

Vous devez créer une chaîne avec les paramètres et l'exécuter avec l'instruction :exec.

par exemple. quelque chose comme ceci:

function Cs(a, b) 
    exec "normal " a ":" a "|\"cylr " a ":" b "|x\"cP" 
endfunction 
+1

Vous avez oublié de concaténer les chaînes avec. –

+0

@Luc: Non, je n'ai pas. La commande exec prendra n'importe quel nombre d'arguments et les concaténera ensemble sans avoir besoin d'utiliser '.' –

Questions connexes