2015-12-28 7 views
0

Эта картина моя проблема выглядитКак заставить YouCompleteMe завершить код, особенно snip complete?

https://cloud.githubusercontent.com/assets/13230384/12019443/3981e0f6-adab-11e5-85a7-c0ec84b1e63a.png

Это мой .vimrc

"========================== 
"vundle 
set nocompatible " be iMproved 
filetype off " required! 
" set the runtime path to include Vundle and initialize 
set rtp+=~/.vim/bundle/Vundle.vim 
call vundle#begin() 
" alternatively, pass a path where Vundle should install plugins 
"call vundle#begin('~/some/path/here') 
" let Vundle manage Vundle, required 
Plugin 'VundleVim/Vundle.vim'  
" The following are examples of different formats supported. 
" Keep Plugin commands between vundle#begin/end. 
"====================== 
" plugin on GitHub repo 
"====================== 
" For GitHub repos, you specify plugins using the 'user/repository' format 
Plugin 'Valloric/YouCompleteMe' 
Plugin 'scrooloose/syntastic' 
Plugin 'bling/vim-airline' 
Plugin 'SirVer/ultisnips' 
Plugin 'edsono/vim-matchit' 
Plugin 'elzr/vim-json' 
Plugin 'honza/vim-snippets' 
Plugin 'justinmk/vim-sneak' 
Plugin 'kien/ctrlp.vim' 
Plugin 'ludovicchabant/vim-lawrencium' 
Plugin 'majutsushi/tagbar' 
Plugin 'mhinz/vim-signify' 
Plugin 'plasticboy/vim-markdown' 
Plugin 'scrooloose/nerdcommenter' 
Plugin 'sjl/gundo.vim' 
Plugin 'tpope/vim-fugitive' 
Plugin 'tpope/vim-sleuth' 
Plugin 'tpope/vim-serround' 
Plugin 'tyru/open-browser.vim' 
Plugin 'vim-scripts/a.vim' 

"color schemes 
Plugin 'tomasr/molokai' 
Plugin 'flazz/vim-colorschemes' 

"======================== 
" All of your Plugins must be added before the following line 
"====================== 
call vundle#end() " required 
filetype plugin indent on " required 
" To ignore plugin indent changes, instead use: 
"filetype plugin on  
" Brief help 
" :PluginList - lists configured plugins 
" :PluginInstall - installs plugins; append ! to update or just 
":PluginUpdate 
" :PluginSearch foo - searches for foo; append ! to refresh local cache 
" :PluginClean - confirms removal of unused plugins; append ! to 
" see :h vundle for more details or wiki for FAQ 
" Put your non-Plugin stuff after this line 
"==================================== 

let mapleader=";" 
set incsearch 
set ignorecase 
set wildmenu 
set laststatus=2 
set ruler 
set number 
syntax enable 
syntax on 
filetype indent on 
set expandtab 
set tabstop=4 
set shiftwidth=4 
set softtabstop=4 
set foldmethod=syntax 
set nofoldenable 
set nowrap 

"=========================== 
"colorscheme 
set t_Co=256 
set background=dark 
"colorscheme solarized 
colorscheme molokai 
""colorscheme 

"============================= 
" the ycm_extra_conf.py 
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py' 
let g:UltiSnipsSnippetDirectories=["mysnippets"] 

"================= 
"complete in comment 
let g:ycm_complete_in_comments=1 
"enable cpptags 
let g:ycm_collect_identifiers_from_tags_files=1 
"include stdcpp tags 
set tags+=/data/misc/software/misc./vim/stdcpp.tags 
"disable preview  
set completeopt-=preview 

nnoremap <leader>gl :YcmCompleter GoToDeclaration 
nnoremap <leader>gf :YcmCompleter GoToDefinition 
nnoremap <leader>gg :YcmCompleter GoToDefinitionElseDeclaration" 

" YouCompleteMe 
let g:ycm_key_list_previous_completion=['<Up>'] 

"" Ultisnips 
let g:UltiSnipsExpandTrigger="<c-tab>" 
let g:UltiSnipsListSnippets="<c-s-tab>" 

Это было показано в этой картине после моего прослушке «фо». Тогда, что я могу сделать, это нажать «Tab», чтобы перейти от выбора к другому, вопрос в том, что я должен нажать, чтобы развернуть дополнение для «snip» (вкладка [tab] не может принять завершение, так как что valloric said in user guide)? Другой вопрос, почему я не могу сделать youcompleteme для завершения функции, класса? В этом случае, я полагаю, что вы должны завершить func «fopen». Произошло какое-то столкновение, так как здесь есть много плагинов?

ответ

1

Установите это переменное то, что соответствует вашему вкусу:

let g:UltiSnipsExpandTrigger="<c-space>" 
let g:UltiSnipsJumpForwardTrigger="<c-j>" 
let g:UltiSnipsJumpBackwardTrigger="<c-k>" 

Читать youcompleteme помощи, особенно о семантических триггерах:

:help ycm_semantic_triggers 
+0

Привет, я только что установил это «пусть г: ycm_key_invoke_completion = ' '"&" g: UltiSnipsExpandTrigger = "" "ЧТО Я должен делать, если я хочу, чтобы YCM завершил прототип функции для меня? Это можно сделать? –