Vim-snipMate не расширяется, а удаляет триггер

Я использовал snimpmate с плагином vim-snippets, и все в порядке. Пока я не попытался удалить фрагменты vim и использовать свои собственные и только фрагменты «ruby.snippets» в «.vim/snippets». я думаю, что фрагменты загружаются только тогда, когда срабатывает TAB или любой другой триггер, он просто удаляет текст ... и оставляет пустое место.

def hello

 if |TAB|

end

приводит к

def hello

end

та же проблема здесь


person David V    schedule 22.04.2014    source источник


Ответы (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())
person Ingo Karkat    schedule 22.04.2014