Я использую ультиснипс уже несколько недель.
Я думаю, что основные преимущества этого плагина следующие:
- Это довольно быстро, даже с большим количеством доступных фрагментов.
- Базовый синтаксис для определения нового фрагмента легко понять, поэтому легко быстро создать новый фрагмент, выполняя то, что вы хотите. (Для более сложных фрагментов может потребоваться дополнительная работа.)
- Это работает очень хорошо из коробки; базовая конфигурация позволяет очень быстро использовать фрагменты.
- Это действительно настраивается. Даже если базовая конфигурация работает хорошо, если вы опытный пользователь, вы действительно можете настроить ее очень хорошо.
Прежде всего ultisnips - это движок фрагментов, который означает, что плагин предоставляет функции для использования фрагментов, но не предоставляет сами фрагменты. Чтобы получить фрагменты, автор рекомендует
vim-фрагменты .
После того, как вы установили оба плагина, вы сможете использовать свои фрагменты.
Фрагменты определения хранятся в файлах , названных следующих моделей:
ft.snippets
, ft_*.snippets
или ft/*
, где ft
это „Filetype“ текущего документа и *
представляет собой оболочку, как по шаблону соответствия любая строка , включая пустую строку. (Обратите внимание, что cuda.cpp
поддерживается точечный синтаксис типа файла .)
Таким образом, фрагменты, специфичные для типа файла, раскрываются, только если установлен тип файла буфера. Для all
создания фрагментов, развернутых во всех буферах, доступен специальный тип файла .
В дополнение к фрагментам, предоставляемым vim-snippets, пользователь может определять свои собственные фрагменты. Я рекомендую размещать их в каталоге
~/.vim/my-snippets/Ultisnips
таким образом, чтобы Ultisnips находил их без дополнительной настройки, и их было бы легко поддерживать в репозитории dotfile.
Чтобы расширить фрагменты, Ultisnips предоставляет переменную, g:UltiSnipsExpandTrigger
которая определяет отображение, которое будет запускать расширение (я выбрал,
**что довольно удобно для меня). Обратите внимание, что интеграция должна быть возможной, но я не проверял ее сам).
Для опытных пользователей Ultisnips также предоставляет некоторые функции для настройки поведения расширения или для его запуска по-другому. Видеть:h
UltiSnips-trigger-functions
Это первый менеджер сниппетов, который я действительно широко использовал, и я думаю, что он хороший для начала, поскольку он прост в использовании и имеет возможность настройки.
Наконец, вот список скринкастов, которые дают хорошее представление о плагине: