Onde eu defino trechos de UtliSnips para Python?
Estou usando UltiSnips para meus trechos. Usei apenas snippets LaTeX com UltiSnips, que defini em um tex.snippetsarquivo dentro de um UltiSnipsdiretório no meu runtimepath.
Agora, eu gostaria de escrever trechos para Python também. Como eu faço isso? Há um nome específico que devo dar ao .snippetsarquivo? Existe uma sintaxe diferente para snippets Python?
Respostas
:UltiSnipsEditirá abrir automaticamente ultisnips para o tipo de arquivo atual. A partir daí você pode ver que deve ser python.snippets.
UltiSnips usa uma estratégia semelhante a como o Vim detecta :h ftplugins. Ou seja, ele vai olhar para os nomes de arquivos que correspondam ao seguinte padrão em seu diretório UltiSnips: ft.snippets, ft_*.snippetsou ft/*, onde fté substituído por seu filetype Vim ( python, c, etc.) e *corresponde a qualquer cadeia, incluindo a cadeia vazia. Uma mesa de :h UltiSnips-how-snippets-are-loaded:
snippet filename filetype ~ ruby.snippets ruby perl.snippets perl c.snippets c c_my.snippets c c/a c c/b.snippets c all.snippets all all/a.snippets all
Portanto, para escrever snippets para o pythontipo de arquivo, você pode usar UltiSnips/python.snippets(ou UltiSnips/python_classes.snippets, ou UltiSnips/python/classes.snippets, por exemplo).
Todos os *.snippetarquivos usam a mesma sintaxe, independentemente do tipo de arquivo.