我正在使用带有 vim-snippets 插件的 snimpmate,一切都很好。直到我尝试删除 vim 片段并在“.vim/snippets”上使用我的自定义且仅片段“ruby.snippets”。我认为这些片段只是在触发 TAB 或任何触发它只是删除文本时才被加载......并留下空白。
def hello
if |TAB|
end
结果是
def hello
end
这里是同样的问题
我正在使用带有 vim-snippets 插件的 snimpmate,一切都很好。直到我尝试删除 vim 片段并在“.vim/snippets”上使用我的自定义且仅片段“ruby.snippets”。我认为这些片段只是在触发 TAB 或任何触发它只是删除文本时才被加载......并留下空白。
def hello
if |TAB|
end
结果是
def hello
end
这里是同样的问题
您提供的信息很少,可以帮助您进行故障排除。这是一个函数(来自我的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())