para code best awesome vim vim-plugin

code - vim html autocomplete



VimL: Comprobando si existe funciĆ³n (3)

ahora mismo estoy limpiando mi archivo .vimrc para asegurarme de que sea compatible con la mayoría de los sistemas.

En mi línea de estado, uso una función que otro complemento establece, la función GitBranchInfoString() introducida por este complemento .

Lo que quiero hacer es verificar si esta función está configurada y solo agregarla a la línea de estado. Estaría en su propia línea, así que solo necesito comprobarlo.

¿Cuál sería la forma más sencilla de lograr esto?

¡Gracias por toda tu ayuda!

EDITAR:

Tengo los siguientes

if exists(''*GitBranchInfoString'') let &stl.=''%{GitBranchInfoString()}'' endif


Como alternativa, también puede usar una runtimepath para decidir si el complemento en cuestión está en su runtimepath :

if &rtp =~ ''plugin-name'' ... endif

Esto tiene la ventaja de que funciona con complementos que solo tienen código vimscript en el directorio de autoload , que a su vez no se puede detectar cuando se analiza inicialmente .vimrc, ya que los fragmentos de carga automática se cargan en el momento de una llamada de función.


La respuesta seleccionada actualmente no me funciona (usando Vim 7.4 / Ubuntu). Creo que eso es porque

.vimrc se obtiene antes de que se carguen los complementos

Como @ZyX señaló esto en un comentario.

Mi método preferido es solo verificar la existencia del archivo de complemento . Encuentro esto más limpio que escribir una función separada en un archivo externo.

if !empty(glob("path/to/plugin.vim")) echo "File exists." endif


Utilizar

if exists("*GitBranchInfoString") " do stuff here endif