Ich habe ein Snippet erstellt, dem ich verschiedene Trigger geben möchte. Anstatt zu sagen, dass trigger
ich es auch auslösen möchte mit myothertrigger
:
snippet trigger "just an example"
my text ...
endsnippet
Gibt es eine einfache Möglichkeit, dies zu tun, anstatt das Snippet zu kopieren?
Bearbeiten: Um klar zu sein, ich verwende UltiSnips , aber wenn es ein besseres Plugin gibt, könnte ich das untersuchen.
plugin-ultisnips
ein Gold
quelle
quelle
plugin-ultisnips
, daher würde ich davon ausgehen, dass das OP Ultisnips verwendet.neosnippet
Plugin wechseln, hat die Syntax genau dafür einalias
Schlüsselwort.Antworten:
Derzeit gibt es in UltiSnips keine Möglichkeit, dies zu tun. Es gibt jedoch eine offene Feature-Anfrage auf Github dafür. Persönlich möchte ich eine Alias-Funktionalität für Trigger, wie auch hier angegeben .
Hoffen wir, dass SirVer (der Betreuer von UltiSnips) dies auch denkt und es in Zukunft einbezieht :)
quelle
Obwohl es keine spezifische Syntax für Aliase gibt, können Sie den gleichen Effekt erzielen, indem Sie Folgendes verwenden
post_jump
:In dieser Snippets-Datei ist der Trigger
incexit
ein "Alias" des Triggersincstdlib
. In Wirklichkeitincexit
erweitert sichincstdlib
undexpand(snip)
wird aufgerufen, wenn UltiSnips zum Tabstop wechselt$1
. Dasexpand(snip)
führt nur die VimScript-Funktion aus,UltiSnips#ExpandSnippet
dieincstdlib
in die endgültige erweiterte Form erweitert wird#include <stdlib.h>
.Eine weitere Option ist die Verwendung der UltiSnips-Unterstützung für reguläre Ausdrücke:
Hier haben Sie drei Auslöser
inctrue
,incfalse
undincbool
diese sind praktisch gleich. Der einzige Nachteil ist, dass Plugins für die automatische Vervollständigung wie YouCompleteMe diese nicht automatisch vervollständigen.quelle