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 :scriptnamegibt 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 :scriptnameSie diese Informationen.)