Quelle est la signification du symbole «#» dans le nom de la fonction?

13

Je voudrais savoir quelle est la signification du #symbole dans les noms de fonction, par exemple:

execute pathogen#infect()
Alex
la source
Lisez l'aide relative aux plugins de chargement automatique.
Luc Hermitte

Réponses:

16

Cela fait partie du mécanisme de chargement automatique. De Autoloadingchez Learn Vimscript The Hard Way et :help autoload:

Le chargement automatique vous permet de retarder le chargement du code jusqu'à ce qu'il soit réellement nécessaire, donc si la fonction suivante

execute pathogen#infect()

a déjà été chargé, Vim l'appellera simplement normalement. Sinon, Vim recherchera un fichier appelé autoload/pathogen.vimdans votre ~/.vimrépertoire. Si ce fichier existe, Vim charge / source le fichier. Il essaiera ensuite d'appeler la fonction normalement.

Chaque #nom de fonction fonctionne comme un séparateur de chemin. Ainsi lors de l'appel d'une fonction:

:call foo#bar#func()

Vim recherchera le fichier autoload/foo/bar.vim

Jair López
la source