这是我的代码段:
# Get repository of a table:
snippet repo
$$2 = $this->getRepository('${1:Bundle}:${2:TableName}')
${3}
当我使用它时,这是它可能产生的结果:
$Person = $this->getRepository('MyBundle:Person')
$Address = $this->getRepository('MyBundle:Address')
我希望第一个小写,总是小写,并给我一些像:
$person = $this->getRepository('MyBundle:Person')
$address = $this->getRepository('MyBundle:Address')
...
。有没有办法用狙击手做到这一点?
答案 0 :(得分:1)
我不认为这可能与snipmate有关,但你可能会看看UltiSnips。 UltiSnips使用非常相似的模板语法(非常容易转换),并且更加通用。 http://www.vim.org/scripts/script.php?script_id=2715
答案 1 :(得分:1)
使用 snipMate 无法做到这一点。我试图实现这一点,但是(特别是当转换改变了字符数时),当前的实现难以实现。
这可能是转移到the UltiSnips plugin的最佳理由,{{3}}是一种现代的维护替代方案(但需要Python支持)。在那里,该功能称为转换,并使用${<tab stop no/regular expression/replacement/options}
语法。您可以使用\L
正则表达式原子来小写替换。