Dans ce cas particulier, je ne jouerais qu'avec :scriptnames
. Nous ne pouvons pas nous attendre à utiliser une variable globale pour vérifier si un plugin ft a été chargé - LaTeXSuite peut avoir des plugins, je ne me souviens pas, ce qui est sûr, c'est qu'il a beaucoup de scripts ftplugin. Beaucoup de ftplugins utilisent b:did_ftplugin
(ceux livrés avec Vim au moins), mais cette approche n'est certainement pas évolutive: en conséquence, tous les ftplugins n'utilisent pas cette variable inutile, et nous ne pouvons pas vérifier un nom de variable générique pour savoir si un ftplugin donné a été chargé - par exemple, pour C seul, j'ai 22 plugins, ils n'utilisent définitivement pas le même protecteur anti-réinclusion.
Alors :scriptname
. Hélas, :scriptname
donne beaucoup de résultats non ordonnés, pour nos yeux humains. Heureusement execute()
(une fonction très récente), et filter()
venez à la rescousse. Dans ce cas, je chercherais des scripts vim liés au latex avec
:echo filter(split(execute(':scriptname'), "\n"), 'v:val =~? "tex"')
" or even "latex" instead of "tex"
De plus, si vous utilisez un gestionnaire de plugins, il est probable que le gestionnaire de plugins utilise l' 'runtimepath'
option. Vous pouvez afficher sa valeur avec :echo &rtp
. Vous pouvez même filtrer sa valeur avec:
:echo filter(split(&rtp), ','), 'v:val =~? "tex")
(Cela vous dira si votre gestionnaire de plugins a activé votre plugin, LaTeX-suite dans votre cas. Cela ne vous dira pas si les ftplugins associés ont été correctement chargés. :scriptname
Vous donnera ces informations.)