Müssen VimScript-Funktionen mit einem Großbuchstaben beginnen und wenn ja, warum?

12

Gibt es einen guten Grund, warum VimScript-Funktionen, die ich in meine schreibe .vimrcoder _vimrcmit einem Großbuchstaben beginnen muss?

leeand00
quelle

Antworten:

12

Zitieren :help user-functions

Der Funktionsname muss mit einem Großbuchstaben beginnen, um Verwechslungen mit integrierten Funktionen zu vermeiden.

Die gleiche Einschränkung wird auf benutzerdefinierten Befehlen gesetzt, obwohl es ein paar eingebauten Befehle sind ( :N[ext], :P[rint], :X) , die mit Großbuchstaben beginnen.

Jamessan
quelle
1
Ah! Es macht jetzt alles Sinn. Aber wie ärgerlich für einen ehemaligen Java-Programmierer und den Befehl in der Mitte neu zu formulieren, na ja :P... jetzt habe ich zumindest einen Grund, warum dies der Fall ist.
leeand00
8
Aber es gibt noch mehr! Sie können einen Funktionsnamen in Kleinbuchstaben verwenden, dem Sie lediglich eine skriptspezifische Funktion voranstellen s:müssen. Siehe :h local-functions. Sie können auch Autoload-Funktionen verwenden, für die diese Anforderung nicht besteht. Siehe :h autoload-functions.
Peter Rincker
3

Öffentliche Funktionsnamen alten Stils müssen in der Tat mit einem Großbuchstaben beginnen. Allerdings Skript Funktionsnamen s:getSNR()oder automatisch geladen Funktionsnamen ( lh#option#get()) nicht - ich tue es immer häufiger in meiner Plugins.

Luc Hermitte
quelle