Я часами пытался получить плагин YouCompleteMe для vim, чтобы распознавать мои обильные ctags. Все остальное в YouCompleteMe, кажется, работает, как функции автозаполнения из заголовков и тому подобное. Я действительно хочу по умолчанию помечать файлы. Ниже я перечислил свои .vimrc
файл тестовых тегов, который находится по адресу ~/.vim/tags/
Это мое testtags
файл
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_PROGRAM_AUTHOR Darren Hiebert /[email protected]/
!_TAG_PROGRAM_NAME Exuberant Ctags //
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
!_TAG_PROGRAM_VERSION 5.9~svn20110310 //
myfunc test.h /^void myfunc(int a, int b);$/;" p language:C++
testtags
файл был сгенерирован командой ctags -R --sort=1 --fields=+l --c++-kinds=+p -f testtags test.h
и мой .vimrc
файл здесь
syntax on
filetype off
set runtimepath+=~/.vim/bundle/vundle/
call vundle#rc()
Bundle 'gmarik/vundle'
Bundle 'Valloric/YouCompleteMe'
let g:ycm_collect_identifiers_from_tags_files = 1
set tags+=~/.vim/tags/testtags
filetype plugin indent on
Вывод ввода команды vim :echo tagfiles()
является ['/home/jodag/.vim/tags/testtags']
и команда :set filetype?
является filetype=cpp
, Это означает, что YCM находит файлы тегов и распознает, что я в настоящее время редактирую исходный файл c ++, но он не показывает myfunc
завершение при нажатии Ctrl + Пробел. Любая помощь в выяснении, почему это происходит, будет принята с благодарностью!
Итак, я разобрался с решением после публикации на трекере проблем YCM. Видимо файл тегов читается только когда ctrl+space
не нажата.
Других решений пока нет …