我试图用 zsh 模拟 ultisnips 的行为,主要是具有多个占位符的功能。例如,我经常使用taskwarrior,但总是具有相同的结构:
taskwarrior add p:PROJECT due:DATE TASKDescription
为了加快速度,我想要一个带有键(例如“tadd”)的片段扩展为:
taskwarrior add p: due:
在“p:”之后使用占位符,当我按下一个键(例如,ctrl+j)时,跳转到下一个占位符,即“due:”之后。在 Ultisnips 我可以做:
snippet tadd "Taskwarrio" b
taskwarrior add p:$1 due:$2 $3
endsnippet
知道如何在 ZSH 中实现吗?
答案1
我的印象是你想要一个像任何类似 Bourne 的 shell 中那样的函数:
定义如下:
tadd() taskwarrior add p:$1 due:$2 $3
被调用为:
tadd PROJECT DATE TASKDescription