Was bedeutet das Symbol '#' im Funktionsnamen?


13

Ich würde gerne wissen, was das #Symbol in Funktionsnamen bedeutet, zB:

execute pathogen#infect()

Lesen Sie die Hilfe zu Autoload-Plugins.
Luc Hermitte

Antworten:


16

Das ist Teil des Autoload-Mechanismus. Von Autoloadingat Learn Vimscript the Hard Way und :help autoload:

Mit Autoload können Sie das Laden von Code verzögern, bis er tatsächlich benötigt wird. Wenn also die folgende Funktion

execute pathogen#infect()

wurde bereits geladen, Vim ruft es einfach normal auf. Andernfalls sucht Vim nach einer Datei, die autoload/pathogen.vimin Ihrem ~/.vimVerzeichnis aufgerufen wird . Wenn diese Datei vorhanden ist, lädt / beschafft Vim die Datei. Es wird dann versucht, die Funktion normal aufzurufen.

Jeder #im Funktionsnamen funktioniert wie ein Pfadtrennzeichen. Also beim Aufrufen einer Funktion:

:call foo#bar#func()

Vim sucht nach der Datei autoload/foo/bar.vim

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.