【问题标题】:UltiSnips not completing all the placeholdersUltiSnips 未完成所有占位符
【发布时间】:2014-06-26 22:22:03
【问题描述】:

如何编写一个简单的 sn-p,其中占位符值在两个地方都被替换。

snippet test "test struct" 
type ${1} struct {
    id string
}

func (p *${1}) Id() string {
    return p.id
}

endsnippet

所以当我输入 test<tab> 时,它需要提示输入一个值,结果是(如果我输入 xyz)

type xyz struct {
        id string
    }

    func (p *xyz) Id() string {
        return p.id
    }

可能与我系统中的其他插件发生冲突,但目前当我触发 sn-p 时,光标会移动到第二个占位符(func (p *${1}) Id() string {),并且永远不会完成第一个。

【问题讨论】:

  • 我不知道 ultisnip,但在 snipMate 中,你必须写 type ${1:}(注意 :)才能获得一个镜像文本的停止。
  • 谢谢..用冒号试过..​​结果一样..

标签: vim ultisnips


【解决方案1】:

删除第二个 {1} 周围的大括号(并且,也许,如 Ingo Karkat 所指出的那样,将默认文本添加到第一个占位符):

snippet test "test struct" 
type ${1:foo} struct {
    id string
}

func (p *$1) Id() string {
    return p.id
}

endsnippet

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    相关资源
    最近更新 更多