Onde eu defino trechos de UtliSnips para Python?

Oct 01 2020

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

5 MahbubAlam Oct 01 2020 at 15:14

:UltiSnipsEditirá abrir automaticamente ultisnips para o tipo de arquivo atual. A partir daí você pode ver que deve ser python.snippets.

2 JakeGrossman Oct 01 2020 at 04:33

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.