Désactivez temporairement certains plugins en utilisant un pathogène dans vim.

96

Je pense que j'ai un bug dans un plugin. Je voudrais charger uniquement ce plugin, sans avoir à supprimer tous les autres bundles du dossier bundle de mon pathogène, à déboguer.

C'est possible?

Quelqu'un vous utilise toujours MS-DOS
la source

Réponses:

129

La méthode la plus simple pour désactiver un plugin lorsque vous utilisez Pathogen consiste à ajouter son nom de bundle à la variable g: pathogen_disabled, avant de démarrer pathogen.

Donc un exemple de mon propre vimrc

" To disable a plugin, add it's bundle name to the following list
let g:pathogen_disabled = []

" for some reason the csscolor plugin is very slow when run on the terminal
" but not in GVim, so disable it if no GUI is running
if !has('gui_running')
    call add(g:pathogen_disabled, 'csscolor')
endif

" Gundo requires at least vim 7.3
if v:version < '703' || !has('python')
    call add(g:pathogen_disabled, 'gundo')
endif

if v:version < '702'
    call add(g:pathogen_disabled, 'autocomplpop')
    call add(g:pathogen_disabled, 'fuzzyfinder')
    call add(g:pathogen_disabled, 'l9')
endif

call pathogen#infect()

Mise à jour : une autre méthode, prise en charge par Pathogen, consiste simplement à renommer le répertoire du bundle que vous souhaitez désactiver afin qu'il se termine par un tilde (~). Donc, pour désactiver le autocomplpopbundle, renommez-le simplement en autocomplpop~.

jeroen
la source
1
La stratégie tilde ne semble pas fonctionner actuellement (à partir de la version 2.3).
echristopherson
6
@echristopherson Cela devrait être de retour dans pathogène maintenant, au moins sur la branche dev.
FDinoff
8
À partir de 2.4cela, il devient à la g:pathogen_blacklistplace.
Yuri Ghensev du
36

vim -u NONE -Nchargera vim sans plugins, sans paramètres de votre .vimrc. Vous pouvez ensuite à l' :source /path/to/plugin/you-want.vimintérieur de vim pour charger le seul plugin que vous souhaitez charger.

frabjous
la source
+1. frabjous, c'est un excellent conseil. Mais je pense que l'approche de @Herbert est mieux adaptée à ma situation, car j'ai beaucoup de ftplugin et autres. Merci d'avoir répondu, votre solution est prête à être utilisée dans des boîtes où je ne peux pas installer d'agent pathogène.
Quelqu'un vous utilise toujours MS-DOS
Vous pouvez également démarrer vim en tant que vim -u NONE -N, puis une fois dans vim, faites :filetype plugin onpour activer les plugins de type de fichier.
frabjous
9

vim - noplugine

Dans ce cas, vim ne chargera aucun plug-in mais votre vimrc sera utilisé.

Après avoir chargé votre plugin dans vim:

: source 'votre chemin de plugin'

Regisz
la source
3

Pourquoi pas simplement:

  1. renommer le répertoire du bundle actuel
  2. créer un nouveau répertoire de bundle vide
  3. mettre vos fichiers de plug-in de test dans le nouveau répertoire du bundle?

Une fois terminé, remettez tout comme il était. (La méthode suggérée pour charger Vim sans plugins et rechercher le fichier du plugin fonctionnerait s'il s'agit d'un simple plugin à un seul fichier, mais si vous faites un ftplugin, déplacer les répertoires est probablement la meilleure façon et pas si difficile.)

Herbert Sitz
la source
+1. Simple et efficace, il suffit de déplacer tous les dossiers dans un dossier temporaire.
Quelqu'un vous utilise toujours MS-DOS
2

Vous pouvez renommer le plugin spécifique en mettant un signe tilde ~ après son nom d'origine. Tous les dossiers de plugins du bundle avec le signe tilde ~ à la fin ne seront pas chargés par le pathogène.

Ryan Wu
la source