Tôi muốn sử dụng YouCompleteMe với hoàn thành ngữ nghĩa C ++, nhưng sau nhiều giờ cố gắng, tôi không thể tìm thấy lý do tại sao nó không hoạt động như mong đợi.
Mọi thứ dường như đang hoạt động nhưng tôi không thể hoàn thành các tham số chức năng.
Tôi đang chạy Vim trên Archlinux (Gnome Terminal trên Openbox):
Linux Arch-PC 4.2.5-1-ARCH #1 SMP PREEMPT Tue Oct 27 08:13:28 CET 2015 x86_64 GNU/Linux
Tôi đã cài đặt YCM theo hướng dẫn (có install.py
hỗ trợ tập lệnh và tiếng kêu). Tôi cũng đã thử với gói AUR YCM và gặp vấn đề tương tự.
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
Đó là những gì xuất hiện trên màn hình khi cố gắng hoàn thành:
Tôi đã sử dụng YCM-Generator cho .ycm_extra_conf.py
.
Có phải tôi chỉ thiếu một cái gì đó ngu ngốc do thiếu kiến thức Vim của tôi? Có vẻ như một cái gì đó giống như ánh xạ phím tắt xấu ... nhưng không thể tìm ra chính xác những gì sai. Đây là .vimrc của tôi:
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
Cảm ơn bạn đã giúp đỡ!
clang_completer
sẽ là github.com/Rip-Rip/clang_complete hoặc một plugin khác?