Czy funkcje VimScript muszą zaczynać się wielką literą, a jeśli tak, to dlaczego?

12

Czy jest dobry powód, dla którego funkcje VimScript, które wprowadziłem .vimrclub _vimrcktóre muszę zacząć od dużej litery?

leeand00
źródło

Odpowiedzi:

12

Cytować :help user-functions

Nazwa funkcji musi zaczynać się od dużej litery, aby uniknąć pomyłek z wbudowanymi funkcjami.

To samo ograniczenie jest umieszczone na poleceń zdefiniowanych przez użytkownika, chociaż istnieje kilka poleceń wbudowane ( :N[ext], :P[rint], :X), które rozpoczynają się literami.

jamessan
źródło
1
Ach! Teraz wszystko nabiera sensu. Ale jak denerwujące dla byłego programisty Java i ponowne przetworzenie polecenia w środku, :Pno cóż ... teraz przynajmniej mam powód, dlaczego tak jest.
leeand00
8
Ale jest więcej! możesz użyć nazwy funkcji pisanej małymi literami, wystarczy ją poprzedzić, s:czyniąc ją funkcją specyficzną dla skryptu. Zobaczyć :h local-functions. Możesz także użyć funkcji automatycznego ładowania, które nie mają tego wymagania. Zobaczyć :h autoload-functions.
Peter Rincker,
3

Nazwy funkcji publicznych w starym stylu rzeczywiście muszą zaczynać się od dużej litery. Jednak nazwy funkcji skryptowych s:getSNR()lub nazwy funkcji ładowanych automatycznie ( lh#option#get()) nie robią tego - robię to coraz częściej w swoich wtyczkach.

Luc Hermitte
źródło