Я хотів би використати YouCompleteMe з семантичним завершенням C ++, але після годин спроб я не можу знайти, чому це не працює, як очікувалося.
Здається, все працює, але я не можу виконати параметри функції.
Я запускаю Vim на Archlinux (термінал Gnome на Openbox):
Linux Arch-PC 4.2.5-1-ARCH #1 SMP PREEMPT Tue Oct 27 08:13:28 CET 2015 x86_64 GNU/Linux
Я встановив YCM, дотримуючись інструкцій (із підтримкою install.py
скрипту та кланг). Я також спробував з пакетом AUR YCM і отримав ту саму проблему.
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
Ось що з’являється на екрані при спробі завершення:
Я використовував YCM-генератор для .ycm_extra_conf.py
.
Мені просто не вистачає чогось дурного через мою відсутність знань Vim? Здається, це щось на кшталт поганого відображення ярликів клавіатури ... але не можу зрозуміти, що трапилося саме так. Це мій .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
Спасибі за вашу допомогу!
clang_completer
буде github.com/Rip-Rip/clang_complete чи інший плагін?