Qual é o significado do símbolo '#' no nome da função?

13

Gostaria de saber qual é o significado do #símbolo nos nomes das funções, por exemplo:

execute pathogen#infect()
Alex
fonte
Leia a ajuda relacionada aos plugins de carregamento automático.
Luc Hermitte

Respostas:

16

Isso faz parte do mecanismo de carregamento automático. De Autoloadingem Learn Vimscript the Hard Way e :help autoload:

O carregamento automático permite adiar o carregamento do código até que seja realmente necessário; portanto, se a seguinte função

execute pathogen#infect()

já foi carregado, o Vim simplesmente o chamará normalmente. Caso contrário, o Vim procurará um arquivo chamado autoload/pathogen.vimem seu ~/.vimdiretório. Se esse arquivo existir, o Vim carregará / originará o arquivo. Ele tentará chamar a função normalmente.

Cada #nome da função funciona como um separador de caminho. Assim, ao chamar uma função:

:call foo#bar#func()

O Vim procurará o arquivo autoload/foo/bar.vim

Jair López
fonte