Где я могу определить сниппеты UtliSnips для Python?

Oct 01 2020

Я использую UltiSnips для своих фрагментов. Я использовал только фрагменты LaTeX с UltiSnips, которые я определил в tex.snippetsфайле внутри UltiSnipsкаталога в моем runtimepath.

Теперь я хотел бы написать сниппеты и для Python. Как это сделать? Есть ли конкретное имя, которое я должен дать .snippetsфайлу? Есть ли другой синтаксис для фрагментов Python?

Ответы

5 MahbubAlam Oct 01 2020 at 15:14

:UltiSnipsEditавтоматически откроет ultisnips для текущего типа файла. Отсюда видно, что так и должно быть python.snippets.

2 JakeGrossman Oct 01 2020 at 04:33

UltiSnips использует стратегию, аналогичную тому, как Vim обнаруживает :h ftplugins. То есть, он будет искать имена файлов , которые соответствуют следующей схеме в каталоге UltiSnips: ft.snippets, ft_*.snippetsили ft/*, где ftзаменяется с Vim (типов файлов python, cи т.д.) и *соответствует любой строке , включая пустую строку. Таблица из :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

Итак, чтобы написать сниппеты для типа pythonфайла, вы можете использовать UltiSnips/python.snippets(или UltiSnips/python_classes.snippets, или UltiSnips/python/classes.snippets, например).

Все *.snippetфайлы используют один и тот же синтаксис, независимо от типа файла.