Я вже кілька тижнів використовую ultisnips .
Я думаю, що основними перевагами цього плагіна є наступні:
- Це досить швидко навіть при наявності великої кількості фрагментів.
- Основний синтаксис для визначення нового фрагмента легко зрозуміти, тому легко швидко створити новий фрагмент, виконуючи те, що ви хочете зробити. (Для більш складних фрагментів може знадобитися деяка додаткова робота.)
- Це дуже добре працює поза коробкою; основна конфігурація дозволяє дуже швидко використовувати фрагменти.
- Це дійсно конфігурується. Навіть якщо основна конфігурація працює добре, якщо ви користувач живлення, ви можете дійсно налаштувати її.
Перш за все, 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
Це перший менеджер фрагментів, який я дійсно широко використовував, і я думаю, що це добре почати з його простоти поза коробкою і можливості налаштування.
Нарешті, ось список скріншотів, які добре знайомляться з плагіном: