¿Cuál es el significado del símbolo '#' en el nombre de la función?

13

Me gustaría saber cuál es el significado del #símbolo en los nombres de funciones, por ejemplo:

execute pathogen#infect()
Alex
fuente
Lea la ayuda relacionada con los complementos de carga automática.
Luc Hermitte

Respuestas:

16

Eso es parte del mecanismo de carga automática. Desde Autoloadingal Aprende Vimscript la manera dura y :help autoload:

La carga automática le permite retrasar la carga del código hasta que sea realmente necesario, así que si la siguiente función

execute pathogen#infect()

ya se ha cargado, Vim simplemente lo llamará normalmente. De lo contrario, Vim buscará un archivo llamado autoload/pathogen.vimen su ~/.vimdirectorio. Si este archivo existe, Vim cargará / obtendrá el archivo. Luego intentará llamar a la función normalmente.

Todos #en el nombre de la función funcionan como un separador de ruta. Por lo tanto, al llamar a una función:

:call foo#bar#func()

Vim buscará el archivo autoload/foo/bar.vim

Jair López
fuente