每当我尝试在单词之后使用片段(使用snipMate)而没有空格时,它就不起作用。所以我必须打空间,键入我的片段,点击标签,然后消除空间。有没有更好的方法呢?有没有办法让一个单词后立即使用snipppets工作?这就是我的意思:
让我们说我的片段是这样的:
snippet test
<some code>${1}</code>${2}
典型用途:
hello test[TAB]
变成了这个:
hello <some code>|</code>
但如果我试试这个:
hellotest[TAB]
它变成了这个:
hellotest_____
_ 是空白区域。有办法解决这个问题吗?
答案 0 :(得分:2)
Vim缩写可以有三种类型(full-id,end-id和non-id,cp。:help abbreviations
),这有助于解决这个问题。但是,snipMate允许所有非空白字符用于代码段名称,因此必须依靠空格进行分隔。
您必须在plugin/snipMate.vim
中修改代码段名称的解析,它位于函数TriggerSnippet()
中:
let word = matchstr(getline('.'), '\S\+\%'.col('.').'c')
答案 1 :(得分:0)
如果这就是你的要求,那就没有这种效果的设定。你不得不看看源头并自己做一些改变,我担心。
此外,它可能被视为一种限制,但它肯定不是一个错误所以你所追求的是一个改进,而不是一个“修复”。不过,我的建议是按照设计使用它:即使触发器是另一个单词的一部分也没有任何意义。空间是分离想法和文字的最自然的方式。