web-dev-qa-db-fra.com

Gestion des packages (plugins) pour Vim

Emacs 24 on dirait qu'il aura un gestionnaire de paquets. Quelles sont les options de gestion des packages pour Vim?

74
ntimes

J'utilise maintenant VimPlug pour le mien Configuration Vim, et je le recommande sans hésiter. L'installation est très simple, elle est rapide, jolie et efficace!

VimPlug video

J'avais l'habitude de recommander Vundle dans cette réponse. Mais Vundle n'est plus maintenu et il existe de meilleures alternatives.

83
Jostein

La gestion des plugins pour vim était une difficulté de la manière traditionnelle en répartissant les fichiers de plugins dans tout le répertoire d'exécution personnel de vim, par exemple. ~/.vim pour le système * nix. Une fois qu'un plugin est installé, il est difficile d'être mis à jour car il n'y a pas de moyen facile de supprimer les fichiers de plugin obsolètes, ce qui est une étape nécessaire.

Au début, je voudrais énumérer mes exigences personnelles sur la façon dont un outil de gestion de plugin devrait être:

  1. doit être écrit en VimL pur
  2. doit installer les plugins dans leur propre répertoire
  3. doit charger automatiquement les plugins lorsque vim démarre, agréable à charger au besoin
  4. doit avoir une méthode intégrée pour installer, mettre à jour et supprimer les plugins
  5. Agréable d'avoir une méthode intégrée de recherche des plugins nécessaires
  6. doit pouvoir déclarer les plugins nécessaires dans un fichier
  7. Agréable d'avoir un mécanisme de résolution des dépendances

Il existe de nombreuses implémentations ( Vim-Scripts.org a un résumé complet de tous les outils disponibles), je ne parlerai de plusieurs outils majeurs que par leur ordre de création .

vimball a été la première tentative pour résoudre le problème et était en fait une solution semi-officielle que de nombreux plugins étaient livrés avec un *.vba emballer ensemble pendant longtemps. Combiné avec GetLatestVimScripts , cela formait la manière traditionnelle pour la gestion du plugin vim.

Même si, le problème est resté jusqu'à ce que Tim Popepathogène ( Github Repo ), qui place chaque plugin dans son propre répertoire et les charge au démarrage en modifiant le "rtp (runtimepath)" du vim, est apparu. C'est un grand progrès - combiné avec vim-scripts.org hébergé par git/github et d'autres outils (par exemple vimmer ), il constitue la manière moderne de gérer les plugins vim. Il existe de nombreux articles et vidéos sur ce sujet.

En tant que plugin qui gère les plugins, pathogène manque encore certaines fonctionnalités de base comme la recherche, l'installation, la mise à jour et la suppression des plugins. En conséquence, VAM (Vim-Addon-Manager) ( Github Repo ) est sorti. VAM fournit presque tout le nécessaire pour être un gestionnaire de plugins: place les fichiers de plugins dans son propre répertoire, charge les plugins au démarrage de vim, recherche/installe/met à jour/supprime les plugins dans la ligne de commande ex, écrit en VimL pur, maintient sa propre base de données centrale d'informations sur les plugins, résout même les dépendances du plugin. Il semble que le VAM devrait être celui dont nous avons besoin en tant que gestionnaire de plug-ins Vim complet, mais de mon point de vue, l'approche du VAM est un peu inélégante et parfois sur-conçue. Bien que ce soit toujours un merveilleux plugin et mérite d'être utilisé.

Ensuite, il y a eu Tom Link's tplugin ( Github Repo ) qui a amélioré le pathogène en ne chargeant les plugins que lorsque des commandes ou des fonctions liées sont appelées, similaire à AsNeeded =. En outre, il a une sorte de mécanisme de résolution de dépendances qui semble agréable.

En Finlande, Gmarik a créé Vundle ( Github Repo ) qui est un successeur du pathogène de Tim Pope avec l'inspiration de Ruby's Bundler , il fournit une meilleure interface utilisateur et des fonctionnalités de gestion supplémentaires. Vundle à Vim est très similaire à Bundler à un projet Ruby. En ayant besoin de plugins déclarés dans vimrc, vundle gère tout le reste, y compris l'installation/la mise à jour et la suppression de plugins, via l'interface de ligne de commande ex . Plus important encore, vundle est implémenté en VimL pur. Avec l'aide de vundle, la gestion de la configuration de vim sur plusieurs ordinateurs pourrait se faire avec un simple fichier vimrc. En tant qu'outil de gestion de plugin moderne, vundle s'appuie sur Git et peut installer le plugin directement à partir de Github.Vundle fournit également une interface interactive sophistiquée pour rechercher et installer des plugins.

Vundle ne répond pas entièrement à mes exigences, mais il va dans la bonne direction, ce qui semble être un bon point de départ pour moi.

Voici ne discussion et ne autre comparaison entre les gestionnaires de plugins vim par l'auteur de VAM MarcWeber.

35
weynhamz

Il y a aussi pathogen.vim

http://www.vim.org/scripts/script.php?script_id=2332

Bien que ce ne soit pas exactement ce que vous demandez, il fournit un moyen de gérer les extractions de vos github et bitbucket.

C'est bien car cela sépare la structure de répertoire du plugin. Vous pouvez donc extraire un référentiel du plugin et obtenir un contrôle de version approprié plutôt que de compter sur le responsable pour mettre à jour le code. De plus, il ne dépend pas de l'auteur du plugin pour configurer/package comme requis par les autres options citées.

Il existe d'autres plugins sur vim.org qui effectuent cette tâche bien que je ne les trouve pas pour le moment

25
michael

J'utilise une configuration artisanale pour l'instant, mais je me dis toujours de donner un coup de main à ce moment (les liens ont tous à voir avec le même plugin):

  1. vim-addon-manager : gérer et mettre à jour les plugins facilement; un plugin par Marc Weber (@ vim.org)
  2. profil GitHub de Marc Weber; il a un certain nombre de repos liés à v-a-m
  3. Vim-plugin-manager @ Vim wiki - le nom de la page est différent, mais en fait le même plugin est destiné

Encore une fois, je n'ai pas encore essayé moi-même, mais cela semble certainement prometteur.

12
Michał Marczyk

Vim.org + Vimballs + GetLatestVimScripts est préférablement intégré de manière à gérer les plugins vim pour le moment.

:h GetLatestVimScripts

Les mauvaises choses à ce sujet:

  • ne prend pas en charge Windows (GetLatestVimScripts utilise wget AFAIR)
  • vim.org a beaucoup de plugins qui ne sont pas compatibles avec GLVS et Vimball.
5
Maxim Kim

Découvrez NeoBundle , le gestionnaire de paquets ultime pour vim. C'est une fourchette de Vundle .

3
trusktr

J'ai écrit un outil nommé "vimpyre", il pouvait rechercher, installer, désinstaller, mettre à jour le plugin vim en utilisant le service GitHub. https://github.com/pct/vimpyre

2
pct