Qu'est-ce qu'un plugin Vim?

14

Je comprends que nous pouvons étendre la puissance de Vim afin d'ajouter de nouvelles fonctionnalités ou de modifier celles existantes et d'améliorer notre expérience d'édition.

Bien qu'étant moi-même un utilisateur de Vim depuis assez longtemps, je suis maintenant dans un territoire inexploré: qu'est-ce qu'un plugin Vim exactement? Quelles sont les conditions requises pour écrire un plugin, afin que je puisse écrire mes propres plugins dans un avenir proche?

Paulo Cereda
la source

Réponses:

16

Un plugin est un moyen d'étendre les fonctionnalités de vim.

Vim classe les plugins en plugins "globaux" (qui se chargent et fonctionnent sans conditions) et en plugins "filetype" (qui ne se chargent et ne fonctionnent que pour des types de fichiers spécifiques, voir :help filetype). Vim recherche des plugins dans des emplacements spécifiques, en supposant que vous n'avez pas modifié le chemin d'exécution (manuellement ou avec des plugins comme Pathogen ou Vundle):

  • Sur * nix et OS X, la valeur par défaut est ~/.vim/plugin
  • Sous Windows, la valeur par défaut est $HOME/vimfiles/plugin

Les plugins de type de fichier utilisent à la ftpluginplace et doivent être nommés (ou dans un sous-répertoire nommé) pour le type de fichier auquel ils correspondent (comme foo.vimpour le type de foofichier).

Les plugins ne sont que des scripts vim, vous pouvez donc les utiliser pour définir des fonctions, des mappages et des commandes comme vous le feriez dans votre .vimrc, bien que lors de l'écriture d'un plugin, vous souhaitiez généralement écrire votre script vim avec un peu plus de généralités que si vous étiez juste piratage par vous-même .vimrc. Si votre vim est compilé avec l'option appropriée, vous pouvez également écrire des plugins dans d'autres langages tels que Python, Ruby ou Lua.

Les plugins sont généralement plus qu'un simple .vimfichier qui se trouve dans le répertoire approprié, cependant. Ils incluent également fréquemment des scripts de chargement automatique ( :help autoload), des scripts de syntaxe ( :help syntax) et des scripts de gestion des retraits. Ensemble, tout le code de ces scripts fournit des crochets puissants pour augmenter vim.

L'aide intégrée de Vim ( :help plugin) contient toutes sortes de spécificités supplémentaires. L'écriture de plugins est un sujet assez large, mais l'aide intégrée de vim peut être extrêmement utile. De plus, il existe d'excellentes ressources sur Internet telles que:


Utiliser un plugin (que vous ayez écrit ou téléchargé depuis Internet) est une simple question de le placer dans le répertoire approprié (ou les répertoires, le cas échéant) et de lancer vim. Certains plugins peuvent avoir des procédures d'installation plus complexes (comme le populaire plugin de complétion YouCompleteMe , qui a un composant compilé), bien sûr.

De nos jours, les plugins de gestion des plugins tels que Pathogen et Vundle sont une alternative populaire à l'installation manuelle des fichiers de plugins, d'autant plus que les plugins sont généralement fournis avec plusieurs fichiers (comme indiqué ci-dessus). Voir cette question pour plus d'informations.

Communauté
la source