Me gustaría usar YouCompleteMe con finalización semántica de C ++, pero después de horas de intentarlo, no puedo encontrar por qué no funciona como se esperaba.
Todo parece estar funcionando pero no puedo completar los parámetros de la función.
Estoy ejecutando Vim en Archlinux (Terminal Gnome en Openbox):
Linux Arch-PC 4.2.5-1-ARCH #1 SMP PREEMPT Tue Oct 27 08:13:28 CET 2015 x86_64 GNU/Linux
Instalé YCM siguiendo las instrucciones (con el install.py
script y el soporte de clang). También probé con el paquete AUR YCM y obtuve el mismo problema.
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
Eso es lo que aparece en la pantalla al intentar completar:
Usé YCM-Generator para el .ycm_extra_conf.py
.
¿Me estoy perdiendo algo estúpido debido a mi falta de conocimiento de Vim? Parece ser algo así como una mala asignación de atajos de teclado ... pero no puedo entender exactamente qué está mal. Este es mi .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
¡Gracias por tu ayuda!
clang_completer
ser github.com/Rip-Rip/clang_complete , u otro plugin?--clang-completer
, ¿funciona entonces? Creo que estoy usando la terminación de parámetros todo el tiempo en el trabajo. No se puede comprobar en este momento ...