Respostas:
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.
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.
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.
:Pbem ... agora, pelo menos, tenho uma razão para que esse seja o caso.