我已经花了好几个小时来为vim获取YouCompleteMe插件,以识别我充满活力的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 /dhiebert@users.sourceforge.net/
!_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 ++源文件,但在按Ctrl + Space时它不会显示myfunc
完成。任何帮助,找出为什么会发生这种情况将不胜感激!
答案 0 :(得分:0)
所以我在YCM问题跟踪器上发布后想出了解决方案。显然,只有在未按下ctrl+space
时才会读取标签文件。