1

我正在使用带有 vim-snippets 插件的 snimpmate,一切都很好。直到我尝试删除 vim 片段并在“.vim/snippets”上使用我的自定义且仅片段“ruby.snippets”。我认为这些片段只是在触发 TAB 或任何触发它只是删除文本时才被加载......并留下空白。

def hello

 if |TAB|

end

结果是

def hello

end

这里是同样的问题

4

1 回答 1

1

您提供的信息很少,可以帮助您进行故障排除。这是一个函数(来自我的SnippetCompleteSnipMate 插件),可让您访问当前定义的片段:

为了能够访问它的片段,snipMate 必须打补丁。打开~/.vim/plugin/snipMate.vim并在底部插入以下函数:

fun! GetSnipsInCurrentScope()
    let snips = {}
    for scope in [bufnr('%')] + split(&ft, '\.') + ['_']
        call extend(snips, get(s:snippets, scope, {}), 'keep')
        call extend(snips, get(s:multi_snips, scope, {}), 'keep')
    endfor
    return snips
endf

您现在可以通过以下方式检查为当前缓冲区定义了哪些片段

:echo keys(GetSnipsInCurrentScope())
于 2014-04-22T06:58:06.280 回答