Dove definisco gli snippet UtliSnips per Python?

Oct 01 2020

Sto usando UltiSnips per i miei frammenti. Ho utilizzato solo frammenti LaTeX con UltiSnips, che ho definito in un tex.snippetsfile all'interno di una UltiSnipsdirectory nel mio file runtimepath.

Ora, vorrei scrivere anche snippet per Python. Come lo faccio? C'è un nome particolare che devo dare al .snippetsfile? Esiste una sintassi diversa per i frammenti di Python?

Risposte

5 MahbubAlam Oct 01 2020 at 15:14

:UltiSnipsEditaprirà automaticamente ultisnips per il tipo di file corrente. Da lì puoi vedere che dovrebbe essere python.snippets.

2 JakeGrossman Oct 01 2020 at 04:33

UltiSnips utilizza una strategia simile a come rileva Vim :h ftplugins. Cioè, cercherà i nomi dei file che corrispondono al modello seguente nella directory UltiSnips: ft.snippets, ft_*.snippets, o ft/*, dove ftè sostituito con il tipo di file Vim ( python, c, etc.) e *corrisponde a qualsiasi stringa tra cui la stringa vuota. Un tavolo da :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

Quindi, per scrivere snippet per il tipo di pythonfile, puoi usare UltiSnips/python.snippets(o UltiSnips/python_classes.snippets, o UltiSnips/python/classes.snippets, ad esempio).

Tutti i *.snippetfile utilizzano la stessa sintassi, indipendentemente dal tipo di file.