In diesem speziellen Fall würde ich nur damit spielen :scriptnames
. Wir können nicht erwarten, eine globale Variable zu verwenden, um zu überprüfen, ob ein ft- Plugin geladen wurde. LaTeXSuite verfügt möglicherweise über Plugins. Viele ftplugins verwenden b:did_ftplugin
(zumindest die mit Vim gelieferten ), aber dieser Ansatz ist definitiv nicht skalierbar: Infolgedessen verwenden nicht alle ftplugins diese sinnlose Variable, und wir können nicht nach einem generischen Variablennamen suchen, um festzustellen, ob ein bestimmtes ftplugin diesen Namen hat B. für C allein habe ich 22 ftplugins, sie verwenden definitiv nicht den gleichen Anti-Reinclusion-Guard.
Also :scriptname
. Leider :scriptname
gibt es eine Menge ungeordneter Ergebnisse für unsere menschlichen Augen. Zum Glück execute()
(eine sehr neue Funktion) und filter()
zur Rettung kommen. In diesem Fall würde ich nach latexbezogenen vim-Skripten mit suchen
:echo filter(split(execute(':scriptname'), "\n"), 'v:val =~? "tex"')
" or even "latex" instead of "tex"
Auch wenn Sie einen Plug-in-Manager verwenden, verwendet der Plug-in-Manager wahrscheinlich die 'runtimepath'
Option. Sie können den Wert mit anzeigen :echo &rtp
. Sie können den Wert sogar filtern mit:
:echo filter(split(&rtp), ','), 'v:val =~? "tex")
(Hier erfahren Sie, ob Ihr Plugin-Manager Ihr Plugin, in Ihrem Fall LaTeX-Suite, aktiviert hat. Hier erfahren Sie nicht, ob die zugehörigen ftplugins korrekt geladen wurden. Hier erhalten :scriptname
Sie diese Informationen.)