Ma question est donc simple. Est-ce une bonne idée d'apprendre les scripts vim juste pour créer vim ou nous devrions adopter d'autres langages plus acceptés pour cela.
Par exemple, ce lien ouvre une vidéo YouTube qui montre comment utiliser Python pour créer des plugins vim.
Les scripts Vim ne sont pas entièrement utiles à moins que l'on n'ait l'intention de créer des plugins vim. Alors, y a-t-il quelque chose de particulier qui ne peut être fait que si les scripts vim sont utilisés uniquement?
Réponses:
Mes plugins sont à 99% en VimL. La raison en est que VimL est disponible là où vim est installé. C'est beaucoup plus compliqué avec d'autres langages - par exemple, il est rare que Python soit installé sur les fenêtres où j'utilise Vim.
Bien sûr, VimL est encombrant, il manque de nombreuses fonctionnalités intéressantes, mais au moins, il est plus facile d'avoir quelque chose de portable.
Le 1% qui n'est pas dans VimL, c'est quand j'ai besoin d'interagir avec une API externe qui propose des liaisons python.
BTW, presque tout ce que vous apprenez concernant VimL peut être utilisé de manière interactive lorsque vous jouez avec des commandes comme
:substitute
. La plupart des mappages ou macros n'ont pas non plus besoin de python.la source
map()
qui attend des chaînes ou (sans lien):map
. Je dois souvent jouer avec / autour de l'évaluation des chaînes pour arriver à mes fins, comme générer des mappages ou traiter une liste d'appels de fonction, ...exec
finissez inévitablement par des extraits de VimL de toute façon. Il vous permet d'écrire votre logique de base dans un langage dans lequel vous pourriez être en mesure de travailler beaucoup plus efficacement, mais vous avez encore à peu près besoin d'apprendre VimL.Si vous avez l'intention d'écrire des plugins, vous devriez certainement lire le bel article "Writing Vim Plugins", par Steve Losh ; non seulement pour décider si vous vous en tiendrez à VimL ou non, mais pour les conseils de bonnes pratiques.
Il contient également une petite discussion sur Scripting Vim avec d'autres langues :
D'après mon expérience, même lorsqu'un plugin non VimL est meilleur, je finis par passer à une alternative VimL pure plus tard, principalement en raison de la portabilité. Vim s'exécute sur pratiquement tous les systèmes (même les systèmes hérités laids et anciens), et la surcharge de configuration des dépendances ou de désactivation temporaire de ce plugin ne vaut pas la peine (surtout si vous oubliez que vous l'avez désactivé et essayez d'utiliser ses mappages / commandes) .
Même lorsqu'il est plus facile de configurer les dépendances, vous pouvez rencontrer certains problèmes (par exemple: certains plugins basés sur python ne fonctionnent pas à 100% lorsqu'ils proviennent de dossiers partagés sur des machines virtuelles). C'est pourquoi les quelques plugins que j'ai écrits utilisent uniquement VimL.
la source