He creado un fragmento que quiero dar diferentes desencadenantes, por lo que en lugar de decir trigger
que también quiero activarlo con myothertrigger
:
snippet trigger "just an example"
my text ...
endsnippet
¿Hay una manera fácil de hacer esto en lugar de copiar el fragmento?
Editar: Para ser claros, estoy usando UltiSnips , pero si hay un complemento mejor, podría investigarlo.
plugin-ultisnips
un oro
fuente
fuente
plugin-ultisnips
, por lo que supongo que el OP está usando ultisnips.neosnippet
complemento de Shougo , su sintaxis tiene unaalias
palabra clave para este mismo propósito.Respuestas:
Actualmente no hay forma de hacer esto en UltiSnips. Sin embargo, hay una solicitud de función abierta en Github para ello. Personalmente, me gustaría una funcionalidad de alias para los desencadenantes como se indica aquí también.
Esperemos que SirVer (el responsable de UltiSnips) también lo piense y lo incluya en el futuro :)
fuente
Aunque no existe una sintaxis específica para los alias, puede lograr el mismo efecto utilizando
post_jump
:En este archivo de fragmentos, el activador
incexit
es un "alias" del activadorincstdlib
. En realidad seincexit
expandeincstdlib
yexpand(snip)
se llama cuando UltiSnips se mueve al tabulador$1
. Elexpand(snip)
solo ejecuta la función VimScriptUltiSnips#ExpandSnippet
que se expandiráincstdlib
en su forma expandida final#include <stdlib.h>
.Otra opción es utilizar el soporte de expresión regular UltiSnips en su lugar:
Aquí tendrá tres desencadenantes
inctrue
,incfalse
yincbool
que son efectivamente los mismos. El único inconveniente es que los complementos de autocompletado como YouCompleteMe no los completarán automáticamente.fuente