Hier, je suis tombé sur le plugin Jedi-vim qui fournit une complétion automatique pour python. J'ai installé le plugin en utilisant pathogen en le plaçant dans un bundle
répertoire et tout fonctionne correctement.
Maintenant, comme je l’ai mentionné plus tôt, ce plugin n’est que pour, filetype: python
donc je ne veux le charger que lorsque j’ouvre des fichiers avec des .py
extensions et non pas lorsque j’ouvre d’autres fichiers comme .java, .perl, .sh
.
Alors, comment cela peut-il être réalisé?
Je suis un débutant de Vim / noob mais j'ai googlé avant de demander et j'ai trouvé que cela pouvait être réalisé en utilisant vim ftplugin
mais je ne sais absolument pas où placer quel fichier.
Réponses:
Il y a des gestionnaires de plugins pour Vim qui font ça
Pour votre exemple dans vim-plug .
où la chaîne est l'auteur / le nom du référentiel github. Tous les scripts de vim.org sont également ré-hébergés sur github via vim-scripts.org sous les scripts utilisateur vim
la source
J'ai eu le même problème en voulant charger sous condition
jedi-vim
et en utilisant le gestionnaire de pluginsVundle
. Après quelques recherches, j'ai découvert queVundle
tous ses packages / plugins seraient chargés à l'exécution, mais je ne pouvais rien faire à ce sujet.Cependant,
jedi-vim
a la possibilité d'être automatiquement chargé ou non. J'ai donc décidé dejedi-vim
mettre l'option à zéro (non chargé automatiquement) dans mon~/.vimrc
ensemble à un dans mon~/.vim/ftplugin/python.vim
fichier.Cette option est:
" supposing this is the .vim/ftplugin/python.vim file let g:jedi#auto_initialization = 1
la source
Surtout pour les plugins complexes, le plugin doit être écrit de manière à minimiser ses effets sur les autres types de fichiers. Vous n'avez pas indiqué pourquoi vous voulez limiter l'application du plug-in aux fichiers Python (tant qu'elle n'installe pas de mappages globaux qui interfèrent avec d'autres mappages, vous ne vous en souciez pas normalement), mais après avoir trouvé un problème concernant le temps de chargement lent Je suppose que c'est ça.
Jusqu'à ce que l'auteur du plug-in fournisse une solution, vous pouvez essayer de déplacer le
plugin/jedi.vim
fichier (et lejedi_vim.py
répertoire correspondant ) vers le haut, afin qu'il ne soit pas automatiquement créé au démarrage de Vim. Lorsque vous souhaitez utiliser le plugin, chargez-le via:runtime jedi.vim
. Peut-être que vous pouvez même déplacer les fichiers dans leftplugin/
dossier; ils seraient alors automatiquement recherchés lors de la modification d'un fichier Python; Essaye le.Alternativement, vous pouvez complètement séparer les
.vim
répertoires pour Python et les autres développements, et utiliser deux alias différents pour démarrervim-with-python
vs plain vim:la source
bundle/jedi-vim/plugin
labundle/jedi-vim
b'coz cela n'a pas fonctionné. il a montré des erreurs en disantundefined variable ...
plugin/
convient, car seuls ceux qui ont été créés au démarrage. Mais comme je l'ai dit, pour des plugins complexes répartis sur de nombreux fichiers, cela peut ne pas être si facile; vous auriez à désosser la structure de dépendance et la séquence d'appel.