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