Chciałbym użyć YouCompleteMe z semantycznym uzupełnianiem w C ++, ale po wielu godzinach prób nie mogę znaleźć, dlaczego nie działa zgodnie z oczekiwaniami.
Wygląda na to, że wszystko działa, ale nie mogę uzupełnić parametrów funkcji.
Używam Vima na Archlinux (Gnome Terminal na Openbox):
Linux Arch-PC 4.2.5-1-ARCH #1 SMP PREEMPT Tue Oct 27 08:13:28 CET 2015 x86_64 GNU/Linux
Zainstalowałem YCM zgodnie z instrukcjami (z install.py
obsługą skryptów i clang). Próbowałem też z pakietem AUR YCM i dostałem ten sam problem.
YcmDebugInfo
:
Printing YouCompleteMe debug information...
-- Server has Clang support compiled in: True
-- Clang version: clang version 3.7.0 (tags/RELEASE_370/final)
-- Flags for /home/arthur/vimtest/main.cpp loaded from /home/arthur/vimtest/.ycm
_extra_conf.py:
-- ['-x', 'c++', '-Wall', '-isystem', '/home/arthur/.vim/bundle/YouCompleteMe/th
ird_party/ycmd/ycmd/../clang_includes']
-- Server running at: http://127.0.0.1:54555
-- Server process ID: 11520
-- Server logfiles:
-- /tmp/ycm_temp/server_54555_stdout.log
-- /tmp/ycm_temp/server_54555_stderr.log
Oto, co pojawia się na ekranie podczas próby ukończenia:
Użyłem YCM-Generator do .ycm_extra_conf.py
.
Czy po prostu brakuje mi czegoś głupiego z powodu braku wiedzy Vima? Wydaje się, że to coś w rodzaju złego mapowania skrótów klawiaturowych ... ale nie mogę dokładnie zrozumieć, co jest nie tak. To jest mój .vimrc:
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'mbbill/undotree'
Plugin 'majutsushi/tagbar'
Plugin 'bling/vim-airline'
Plugin 'tpope/vim-fugitive'
Plugin 'vim-scripts/c.vim'
Plugin 'Valloric/YouCompleteMe'
Plugin 'sjl/badwolf'
Plugin 'rdnetto/YCM-Generator'
call vundle#end() " required
filetype plugin on " required
"Settings
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set smartindent
set autoindent
set backspace=indent,eol,start
set background=dark
set shiftround
set ignorecase
set showmode
set ruler
set showcmd
set mouse=a
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
"Plugins Settings :
"badwolf
colorscheme badwolf
"YCM :
let g:ycm_collect_identifiers_from_tags_files = 1
"airline :
set laststatus=2
let g:airline_powerline_fonts = 1
"Shortcuts
nnoremap <F3> :UndotreeToggle<cr>
nnoremap <F4> :TagbarToggle<cr>
nnoremap <F2> :NERDTreeToggle<cr>
syn on
set nu
Dzięki za pomoc!
clang_completer
byłby to github.com/Rip-Rip/clang_complete , czy inna wtyczka?--clang-completer
, czy to zadziała? Myślę, że cały czas używam param uzupełniania w pracy. Nie można teraz sprawdzić ...