vim snipMate:在代码段中展开代码段

时间:2014-04-14 14:06:00

标签: vim snipmate

使用vim-snipmate我有以下问题: 如果我尝试在代码段中展开代码段,则snipmate会将我带到当前代码段的下一个占位符,而不是展开新代码段。

例如为: 如果您在以下情况下按tab

for (i = 0; i < 10; i++) {
    ifi<press tab here>
}

我希望:

for (i = 0; i < 10; i++) {
    if (<cursor position>) ;
}

但我得到的是以下内容:

for (i = 0; i < 10; i++) {
    ifi
}<cursor position>

有没有办法在代码段中扩展代码段或至少是抑制转到下一个占位符的方法?

最好的问候

2 个答案:

答案 0 :(得分:2)

原始snipMate不支持递归代码段扩展。显然,fork没有。在项目问题跟踪器上询问此类支持是不会有害的。

现代替代方案(虽然需要Python)是UltiSnips。据我所知,这个支持片段内的片段。

答案 1 :(得分:1)

lh-cppmu-template支持代码段中的代码段,甚至是扩展代码段的代码段(例如switch代码段取决于case代码段。

但是,片段语法与snipMate和consorts中的语法无关。使用的占位符系统是老派系统。