En ese caso particular, solo jugaría con :scriptnames. No podemos esperar usar una variable global para verificar si se ha cargado un complemento ft : LaTeXSuite puede tener complementos, no recuerdo, lo que es seguro es que tiene muchos scripts de ftplugin. Muchos ftplugins usan b:did_ftplugin(los que se envían con Vim al menos), pero este enfoque definitivamente no escala: en consecuencia, no todos los ftplugins usan esta variable sin sentido, y no podemos verificar un nombre de variable genérico para saber si un ftplugin dado tiene cargado, por ejemplo, solo para C tengo 22 ftplugins, definitivamente no están usando el mismo protector anti-reinclusión.
Por lo tanto :scriptname. Por desgracia, :scriptnameda muchos resultados desordenados para nuestros ojos humanos. Afortunadamente execute()(una función muy reciente), y filter()vengan al rescate. En ese caso, buscaría scripts vim relacionados con látex con
:echo filter(split(execute(':scriptname'), "\n"), 'v:val =~? "tex"')
" or even "latex" instead of "tex"
Además, si está utilizando un administrador de complementos, es probable que el administrador de complementos esté utilizando la 'runtimepath'opción. Puede mostrar su valor con :echo &rtp. Incluso puede filtrar su valor con:
:echo filter(split(&rtp), ','), 'v:val =~? "tex")
(Esto le dirá si su administrador de complementos ha activado su complemento, LaTeX-suite en su caso. Esto no le dirá si los ftplugins relacionados se han cargado correctamente. :scriptnameLe dará esta información).
Si usa vim-plug , establece una variable llamada
plugsque enumera todos sus complementos cargados y alguna información sobre ellos. Resolví tu pregunta por mí mismo cuando necesitaba verificar si estaba ejecutando YCM o coc.nvim. Puede ver si un complemento se carga ejecutandohas_key(plugs, "name"), por ejemplo:Nota: esto solo se muestra si está actualmente incluido en su
vimrc, y no, por ejemplo, si lo tiene configurado para carga diferida, por lo queseguirá imprimiéndolo al inicio, aunque
nerdtreeaún no se haya cargado.fuente