Saisie semi-automatique pour la marque


8

Si je mets en place un makeprogramme personnalisé , existe-t-il un moyen de fournir une liste d'options de complétion d'onglets qui s'activeraient lorsque je tape :make+ Space+ Tab?

Avec des commandes personnalisées, je peux faire fi:

command! -nargs=* -complete=customlist,MakeComplete -bar MakeGitbook call MakeGitbook(<q-args>)

Existe-t-il un mécanisme similaire pour les commandes intégrées, et en particulier pour :make? Ou devrais-je simplement définir un wrapper de commande personnalisé qui appelle celui intégré mais ajoute également la complétion de tabulation?


Écrire une commande personnalisée est probablement votre meilleur choix.
lcd047

-complete=customlist,MakeCompletefait déjà ce que vous voulez? Je ne comprends pas très bien où vous êtes coincé ou ce qui ne fonctionne pas comme vous le souhaitez.
Martin Tournoij

Cela ne fonctionne que pour une commande personnalisée, je recherche quelque chose pour la commande make
intégrée

Réponses:


1

Il n'y a pas de mécanisme dans vim pour changer les commandes intégrées. C'est en fait une bonne chose, car vous pouvez être sûr que le comportement par défaut n'est pas modifié par les plugins. Les plugins eux-mêmes peuvent également s'appuyer sur le comportement par défaut, de sorte qu'une telle fonctionnalité (pour changer les commandes intégrées) créerait potentiellement beaucoup de maux de tête.

Existe-t-il un mécanisme similaire pour les commandes intégrées, et en particulier pour: make?

Non. Si vous consultez les documents vim ( ici et ici ), vous constaterez que cela :commandne fonctionne qu'avec des commandes personnalisées, qui doivent commencer par une majuscule (sauf Next qui est également réservé).

Ou devrais-je simplement définir un wrapper de commande personnalisé qui appelle celui intégré mais ajoute également la complétion de tabulation?

Oui, c'est la voie à suivre.

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.