Dove definisco gli snippet UtliSnips per Python?
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
:UltiSnipsEditaprirà automaticamente ultisnips per il tipo di file corrente. Da lì puoi vedere che dovrebbe essere python.snippets.
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.