vim - UltiSnips не работает с YCM

когда я использую YouCompleteMe и UltiSnips вместе, я обнаруживаю 2 ошибки:

  1. Я могу ввести образец фрагмента, и раскрывающееся меню YCM распознает его, однако, когда я перехожу к фрагменту в меню, я не могу его развернуть. Я пробовал переназначить g:UltiSnipsExpandTrigger на несколько разных клавиш (c-l, c-j, c-k, c-l, F5), но безуспешно. Я еще не видел, чтобы UltiSnips действительно расширял сниппет.
  2. Когда я открываю новый файл, например a.py, YCM не распознает ultisnippets в файле. Я в основном пытаюсь воссоздать использование, продемонстрированное в красивой гифке на странице ultisnips git. Ввод #! не распознается YCM, но если я открою уже сохраненный файл python, #! будет признан.

Возможно, эти две проблемы связаны.

Спасибо за ваше время.


person StrugglingProgrammer    schedule 09.12.2014    source источник


Ответы (2)


Я решил эту проблему со следующими конфигурациями:

UltiSnips:

let g:UltiSnipsSnippetsDir        = $HOME.'/.vim/UltiSnips/'
let g:UltiSnipsSnippetDirectories=["UltiSnips"]
let g:UltiSnipsExpandTrigger="<c-j>"
let g:UltiSnipsJumpForwardTrigger="<c-j>"
let g:UltiSnipsJumpBackwardTrigger="<c-k>"
let g:UltiSnipsListSnippets="<c-h>"

YCM:

let g:ycm_complete_in_comments = 1 
let g:ycm_seed_identifiers_with_syntax = 1 
let g:ycm_collect_identifiers_from_comments_and_strings = 1 
person StrugglingProgrammer    schedule 10.12.2014
comment
let g:UltiSnipsSnippetsDir = $HOME.'/.vim/UltiSnips/' let g:UltiSnipsSnippetDirectories=["UltiSnips"] решил мои проблемы! Большое спасибо. - person dylnmc; 20.06.2017

У меня была такая же проблема с тем, чтобы заставить их работать вместе.

вот мой .vimrc, возможно, вы найдете то, что вам нужно:

" ----------------------------------------------------------------------------
" Autocompletion & Snippets Plugins
" ----------------------------------------------------------------------------

if has('nvim')
    runtime! python_setup.vim
endif

Plug 'Valloric/YouCompleteMe', { 'do': './install.sh --clang-completer' }
Plug 'SirVer/ultisnips'
Plug 'ladislas/vim-snippets'

" YouCompleteMe setup
let g:ycm_autoclose_preview_window_after_completion = 1
let g:ycm_filetype_blacklist={'unite': 1}
let g:ycm_min_num_of_chars_for_completion = 1
nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>

" UltiSnips setup
let g:UltiSnipsExpandTrigger='<c-k>'
let g:UltiSnipsJumpForwardTrigger='<c-k>'
let g:UltiSnipsJumpBackwardTrigger='<c-s-k>'
let g:UltiSnipsSnippetsDir=plugDir.'/vim-snippets/UltiSnips'

Надеюсь это поможет.

person ladislas    schedule 09.12.2014
comment
Пытался скопировать разделы YCM и UltiSnips вашего vimrc в мой ... все еще не работает. - person StrugglingProgrammer; 10.12.2014
comment
что именно вы скопировали? предоставление вашего собственного .vimrc очень поможет ... - person ladislas; 10.12.2014
comment
строки 226-235. Получу на github через минуту. - person StrugglingProgrammer; 10.12.2014