¿Dónde defino los fragmentos de UtliSnips para Python?

Oct 01 2020

Estoy usando UltiSnips para mis fragmentos. Solo he usado fragmentos de LaTeX con UltiSnips, que definí en un tex.snippetsarchivo dentro de un UltiSnipsdirectorio en mi runtimepath.

Ahora, también me gustaría escribir fragmentos para Python. ¿Cómo lo hago? ¿Hay algún nombre en particular que deba darle al .snippetsarchivo? ¿Existe una sintaxis diferente para los fragmentos de código de Python?

Respuestas

5 MahbubAlam Oct 01 2020 at 15:14

:UltiSnipsEditabrirá automáticamente ultisnips para el tipo de archivo actual. Desde allí puedes ver que se supone que debe ser python.snippets.

2 JakeGrossman Oct 01 2020 at 04:33

UltiSnips utiliza una estrategia similar a la que detecta Vim :h ftplugins. Es decir, que se verá por los nombres de los archivos que coinciden con el siguiente patrón en su directorio UltiSnips: ft.snippets, ft_*.snippetso ft/*, donde ftse reemplaza con el tipo de archivo que Vim ( python, c, etc.) y *coincide con cualquier cadena que incluye la cadena vacía. Una 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

Entonces, para escribir fragmentos para el tipo de pythonarchivo, puede usar UltiSnips/python.snippets(o UltiSnips/python_classes.snippets, o UltiSnips/python/classes.snippets, por ejemplo).

Todos los *.snippetarchivos utilizan la misma sintaxis, independientemente del tipo de archivo.