Apa yang dimaksud dengan simbol '#' dalam nama fungsi?

13

Saya ingin tahu apa arti #simbol dalam nama fungsi, misalnya:

execute pathogen#infect()
Alex
sumber
Baca bantuan yang terkait dengan plugin autoload.
Luc Hermitte

Jawaban:

16

Itu bagian dari mekanisme pengisian otomatis. Dari Autoloadingdi Learn Vimscript the Hard Way dan :help autoload:

Muat otomatis memungkinkan Anda menunda memuat kode hingga benar-benar diperlukan, jadi jika fungsinya berikut

execute pathogen#infect()

telah dimuat, Vim hanya akan memanggilnya secara normal. Kalau tidak, Vim akan mencari file yang disebut autoload/pathogen.vimdi ~/.vimdirektori Anda . Jika file ini ada, Vim akan memuat / sumber file. Kemudian akan mencoba memanggil fungsi secara normal.

Setiap #nama fungsi berfungsi seperti pemisah jalur. Jadi saat memanggil fungsi:

:call foo#bar#func()

Vim akan mencari file tersebut autoload/foo/bar.vim

Jair López
sumber