vim
Vim extensible
Recherche…
Remarques
Un plugin est un script ou un ensemble de scripts qui modifie le comportement par défaut de Vim, soit en ajoutant des fonctionnalités non existantes, soit en étendant des fonctionnalités existantes.
Les «fonctionnalités non existantes» souvent ajoutées incluent:
- commentant,
- détection d'indentation,
- auto-complétion,
- correspondance floue
- prise en charge d'une langue spécifique,
- etc.
Les «fonctionnalités existantes» souvent étendues incluent:
- omni-achèvement,
- objets-texte et mouvements,
- arracher et mettre,
- ligne d'état,
- rechercher et remplacer,
- changement de page tampon / fenêtre / onglet,
- pliant,
- etc.
Comment fonctionnent les plugins
Un plugin peut se présenter sous la forme d'un fichier unique contenant 30 lignes de vimscript ou 20 Mo de vimscript / python / ruby / what divisé en plusieurs fichiers sur une douzaine de répertoires dépendant d'un certain nombre d'outils externes.
Le premier est évidemment facile à installer et à gérer, mais le second peut poser un véritable défi.
Le principe
L'option 'runtimepath'
indique à Vim où rechercher les scripts d'exécution. La valeur par défaut fait que Vim recherche les scripts dans les répertoires suivants dans l'ordre :
sur des systèmes de type UNIX
-
$HOME/.vim/
-
$VIM/vimfiles/
-
$VIMRUNTIME/
-
$VIM/vimfiles/after/
-
$HOME/.vim/after/
-
sur Windows
-
$HOME/vimfiles/
-
$VIM/vimfiles/
-
$VIMRUNTIME/
-
$VIM/vimfiles/after/
-
$HOME/vimfiles/after/
-
Parmi les répertoires ci-dessus, installez uniquement les plug-ins dans ceux en gras. Les autres provoqueront l'instabilité sans raison valable. L'installation d'un plugin se résume à placer chacun de ses composants dans le bon répertoire sous $HOME/.vim/
ou $HOME/vimfiles/
.
La méthode manuelle
Plugin de fichier unique
Placez le fichier sous $HOME/.vim/plugin
ou $HOME/vimfiles/plugin
Cela source le plugin au démarrage de Vim. Maintenant, l'utilisateur peut utiliser tout ce qui y est défini. Si le plug-in nécessite toutefois une activation, l'utilisateur doit soit exécuter la commande eux-mêmes chaque fois qu'ils le souhaitent, soit ajouter la commande à .vimrc
Paquet
Un bundle est une structure de répertoire utilisée par le plugin. Il comprend tous les fichiers du plugin sous les sous-répertoires appropriés.
Pour installer un tel plugin, les sous-répertoires doivent être fusionnés avec leurs homologues dans $HOME/.vim/plugin
. Cette approche conduit cependant à mélanger les fichiers de différents plug-ins dans les mêmes répertoires et peut éventuellement entraîner des problèmes d'espace de noms.
Une autre approche consiste à copier le répertoire entier dans $HOME/.vim/bundle
.
Lorsque vous utilisez cette approche, il devrait y avoir au moins un fichier .vim
sous le répertoire $HOME/.vim/bundle/autoload
. Ces fichiers seraient fournis par vim au démarrage.
Remarque: Selon le système d'exploitation de l'utilisateur, le préfixe de tous les chemins peut être $HOME/vimfiles
. Pour plus de détails, voir Comment les plugins fonctionnent
VAM
https://github.com/MarcWeber/vim-addon-manager
Vundle
Vundle est un gestionnaire de plug-ins pour Vim.
Installation de Vundle
(Les détails complets de l'installation peuvent être trouvés dans le démarrage rapide de Vundle )
Installez Git et clonez Vundle dans
~/.vim/bundle/Vundle.vim
.Configurez les plug-ins en ajoutant les éléments suivants en haut de votre
.vimrc
, en ajoutant ou en supprimant des plug-ins si nécessaire (les plug-ins de la liste sont simplement.vimrc
titre d'illustration)set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on "place non-Plugin stuff after this line
Installer les plugins: en lançant Vim et en exécutant
:PluginInstall
.
Formats de plugin pris en charge
Voici des exemples de différents formats pris en charge. Conservez les commandes du plug- vundle#begin
entre vundle#begin
et vundle#end
.
Emplacement du plugin | Usage |
---|---|
plugin sur GitHub | Plugin 'tpope/vim-fugitive' |
plugin de http://vim-scripts.org/vim/scripts.html | Plugin 'L9' |
Plugin Git non hébergé sur GitHub | Plugin 'git://git.wincent.com/command-t.git' |
git repos sur votre machine locale (par exemple lorsque vous travaillez sur votre propre plugin) | Plugin 'file:///home/gmarik/path/to/plugin' |
Le script vim sparkup se trouve dans un sous-répertoire de ce référentiel appelé vim. Passez le chemin pour définir le runtimepath correctement. | Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} |
Installez L9 et évitez un conflit de nommage si vous avez déjà installé une version différente ailleurs. | Plugin 'ascenator/L9', {'name': 'newL9'} |
Travailler sur un compte partagé, par exemple, sur un nœud de tête de cluster peut générer des problèmes à partir du point d'utilisation du disque par le répertoire .vim
. Il y a quelques paquets qui prennent une quantité considérable d'espace disque, par exemple YCM . Alors, choisissez Vundle
votre Vundle
plug- Vundle
, et il est très facile de le faire en définissant rtp
. Et si vous prévoyez d'installer un plug-in vim, ne faites pas directement git clone
dans le répertoire bundle
. Utilisez la méthode Vundle.
L'avenir: les forfaits
Voir :help packages
.
Agent pathogène
vim-pathogen est un gestionnaire de runtimepath
créé par Tim Pope pour faciliter l'installation de plugins et de fichiers d'exécution dans leurs propres répertoires privés.
Installation du pathogène
Mettez le pathogène dans
~/.vim/bundle
(ici avec Git, mais ce n'est pas obligatoire):git clone https://github.com/tpope/vim-pathogen.git
Ajoutez les lignes suivantes en haut de votre
.vimrc
:" enable vim-pathogen runtime bundle/vim-pathogen/autoload/pathogen.vim execute pathogen#infect()
- la directive
runtime
spécifie le chemin d'accès au script d'autoload devim-pathogen
; -
execute pathogen#infect()
initie.
Une fois lancé, Pathogen lance automatiquement un balayage dans les dossiers de ~/.vim/bundle
et charge le plug-in de chacun d'eux.
Utilisation de l'agent pathogène
- Placez le répertoire
~/.vim/bundle/
de votre plug-in dans~/.vim/bundle/
pour le rendre disponible au prochain démarrage de Vim. - Exécuter
:Helptags
pour indexer la documentation de votre nouveau plugin.
Avantages
- Chaque plug-in réside dans son propre répertoire sous
~/.vim/bundle/
. - Votre
.vimrc
reste propre à la configuration nécessaire pour charger les plugins.
L'effort nécessaire pour "gérer" un plugin est ainsi réduit à:
- mettre son répertoire de premier niveau sous
~/.vim/bundle/
pour l' installer , - remplacer son répertoire de niveau supérieur pour le mettre à jour ,
- supprimer son répertoire de niveau supérieur pour le désinstaller .
La manière dont vous effectuez ces trois actions (manuellement, via un outil d'automatisation, avec Git / Svn / Hg / quel que soit…) dépend entièrement de vous.