Vimscript: comment puis-je appeler une fonction mais attendre les entrées de l'utilisateur avant de l'exécuter?


1

Dans la partie droite d'un mappage de touches, vous pouvez, par exemple, :call FileTypeToggle("")<Left><Left>lancer un appel de fonction sur la ligne de commande, déplacer le curseur entre les guillemets et attendre que l'utilisateur complète l'argument et clique <CR>manuellement.

Comment pouvez-vous faire la même chose depuis une fonction? J'ai essayé un tas de permutations de execute, call, normalet rien ne semble fonctionner. Je reçois des erreurs sur les caractères de fin ( <Left><Left>) ou exécute la fonction sans attendre la saisie de l'utilisateur.

Réponses:


3

Utilisez la fonction input ().

let cmd = input("", "call FileTypeToggle(\"\")\<left>\<left>")
exe cmd

Non seulement cela a répondu à ma question, mais cela m'a inspiré pour redéfinir la fonction. Merci!
ivan
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.