Я сделал фрагмент, который я хочу дать другим триггерам, поэтому вместо того, чтобы сказать, trigger
я также хочу вызвать его с помощью myothertrigger
:
snippet trigger "just an example"
my text ...
endsnippet
Есть ли простой способ сделать это вместо копирования фрагмента?
Изменить: Чтобы было ясно, я использую UltiSnips , но если есть лучший плагин, я мог бы изучить это.
plugin-ultisnips
Agold
источник
источник
plugin-ultisnips
, так что я бы предположил, что OP использует ultisnips.neosnippet
плагин Shougo , его синтаксис имеетalias
ключевое слово для этой цели.Ответы:
В настоящее время нет способа сделать это в UltiSnips. Для этого на Github есть открытый запрос-функция . Лично я хотел бы использовать псевдоним для триггеров, как указано здесь .
Будем надеяться, что SirVer (сопровождающий UltiSnips) тоже так подумает и включит его в будущем :)
источник
Хотя нет определенного синтаксиса для псевдонимов, вы можете достичь того же эффекта, используя
post_jump
:В этом файле сниппетов триггер
incexit
является «псевдонимом» триггераincstdlib
. В действительностиincexit
расширяется доincstdlib
иexpand(snip)
вызывается, когда UltiSnips переходит на вкладку$1
.expand(snip)
Просто выполняет функцию VimScript ,UltiSnips#ExpandSnippet
которая будет расширятьсяincstdlib
в это окончательном развернутом виде#include <stdlib.h>
.Другой вариант - вместо этого использовать поддержку регулярных выражений UltiSnips:
Здесь у вас будет три триггера
inctrue
,incfalse
иincbool
они практически одинаковы. Единственным недостатком является то, что плагины автозаполнения, такие как YouCompleteMe, не будут автозаполнять их.источник