As funções do VimScript precisam começar com uma letra maiúscula e, se sim, por quê?

12

Existe uma boa razão pela qual as funções do VimScript que eu coloquei no meu .vimrcou que _vimrctenham que começar com uma letra maiúscula?

leeand00
fonte

Respostas:

12

Citar :help user-functions

O nome da função deve começar com uma letra maiúscula, para evitar confusão com as funções internas.

A mesma limitação está colocado em comandos definidos pelo utilizador, embora haja alguns comandos internos ( :N[ext], :P[rint], :X), que começam com as letras maiúsculas.

jamessan
fonte
1
Ah! Tudo faz sentido agora. Mas como é irritante para um ex-programador Java, e reafirmar o comando no meio, tudo :Pbem ... agora, pelo menos, tenho uma razão para que esse seja o caso.
precisa
8
Mas tem mais! você pode usar um nome de função em minúscula, basta prefixá-lo para s:torná-lo uma função específica de script. Veja :h local-functions. Você também pode usar funções de carregamento automático que não possuem esse requisito. Veja :h autoload-functions.
Peter Rincker
3

Os nomes de funções públicas de estilo antigo precisam começar com uma letra maiúscula. No entanto s:getSNR(), nomes de função de script ou nomes de função carregados automaticamente ( lh#option#get()) não - eu faço isso mais e mais frequentemente em meus plugins.

Luc Hermitte
fonte