যদিও এলিয়াসগুলির জন্য কোনও নির্দিষ্ট বাক্য গঠন নেই তবে আপনি একই প্রভাবটি ব্যবহার করে অর্জন করতে পারেন post_jump
:
# c.snippets
global !p
def expand(snip):
if snip.tabstop != 1:
return
vim.eval('feedkeys("\<C-R>=UltiSnips#ExpandSnippet()\<CR>")')
endglobal
snippet incstdlib "#include <stdlib.h>" !b
#include <stdlib.h> /* exit(), malloc(), free() */
$0
endsnippet
post_jump "expand(snip)"
snippet incexit "#include <stdlib.h>" !b
incstdlib$1
endsnippet
এই স্নিপেট ফাইলে ট্রিগারটি ট্রিগারটির incexit
একটি "উরফ" incstdlib
। বাস্তবে incexit
প্রসারিত হয় incstdlib
এবং expand(snip)
যখন UltiSnips ট্যাবস্টপে চলে আসে তখন তাকে ডাকা হয় $1
। expand(snip)
শুধু VimScript ফাংশন executes UltiSnips#ExpandSnippet
যা প্রসারিত হবে incstdlib
এটা চূড়ান্ত প্রসারিত ফর্ম মধ্যে #include <stdlib.h>
।
এর পরিবর্তে অন্য বিকল্পগুলি হ'ল UltiSnips এর পরিবর্তে নিয়মিত এক্সপ্রেশন সমর্থন ব্যবহার করুন:
snippet "inc(true|false|bool)" "#include <stdbool.h>" r
#include <stdbool.h> /* true, false */
endsnippet
এখানে আপনি তিনটি ট্রিগার থাকবে inctrue
, incfalse
এবং incbool
যে কার্যকরভাবে একই। একমাত্র অপূর্ণতা হ'ল YouCompleteMe এর মতো স্বতঃপূরণ প্লাগইনগুলি সেগুলি স্বতঃপূরণ করবে না।