ubuntu 16.04 安装 vim 插件 youcompleteme [转载]
来源:互联网 发布:图标大全软件下载 编辑:程序博客网 时间:2024/05/21 09:57
1 下载
git clone --recursive git://github.com/Valloric/YouCompleteMe
如果执行该命令没报错, 就ok了. 但是中途有可能会断掉, 可以 cd 到 YouCompleteMe, 然后反复用如下命令再次进行下载:
git submodule update --init --recursive
又一回我是反复执行了很多次这个命令才下载全了的.
2 安装
cd ~/.vim/bundle/YouCompleteMe./install.py --clang-completer # 不需要sudo
成功的log如下:
-- [download 99% complete]-- [download 100% complete]Using libclang to provide semantic completion for C/C++/ObjCUsing external libclang: /tmp/ycm_build.CKY92s/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04/lib/libclang.so.3.8-- Found PythonInterp: /usr/bin/python2.7 (found version "2.7.11") -- Looking for pthread.h-- Looking for pthread.h - found-- Looking for pthread_create-- Looking for pthread_create - not found-- Looking for pthread_create in pthreads-- Looking for pthread_create in pthreads - not found-- Looking for pthread_create in pthread-- Looking for pthread_create in pthread - found-- Found Threads: TRUE -- Configuring done-- Generating done-- Build files have been written to: /tmp/ycm_build.CKY92sScanning dependencies of target BoostParts[ 0%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex_raw_buffer.cpp.o[ 0%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex_debug.cpp.o[ 1%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/w32_regex_traits.cpp.o[ 2%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/wide_posix_api.cpp.o...[ 80%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/thread/src/pthread/once_atomic.cpp.o[ 82%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/thread/src/pthread/thread.cpp.o[ 83%] Linking CXX static library libBoostParts.a[ 83%] Built target BoostPartsScanning dependencies of target ycm_core[ 83%] Building CXX object ycm/CMakeFiles/ycm_core.dir/PythonSupport.cpp.o[ 84%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Result.cpp.o[ 85%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Utils.cpp.o[ 85%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/Documentation.cpp.o[ 86%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/TranslationUnitStore.cpp.o[ 88%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/ClangCompleter.cpp.o[ 88%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/TranslationUnit.cpp.o[ 88%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/ClangHelpers.cpp.o[ 89%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/Range.cpp.o[ 90%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/ClangUtils.cpp.o[ 91%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/CompletionData.cpp.o[ 91%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/CompilationDatabase.cpp.o[ 92%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CandidateRepository.cpp.o[ 94%] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierDatabase.cpp.o[ 94%] Building CXX object ycm/CMakeFiles/ycm_core.dir/LetterNode.cpp.o[ 95%] Building CXX object ycm/CMakeFiles/ycm_core.dir/versioning.cpp.o[ 95%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Candidate.cpp.o[ 96%] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierUtils.cpp.o[ 97%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ycm_core.cpp.o[ 97%] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierCompleter.cpp.o[ 98%] Building CXX object ycm/CMakeFiles/ycm_core.dir/LetterNodeListMap.cpp.o[100%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CustomAssert.cpp.o[100%] Linking CXX shared library /home/wuyt/mutils/debian_lenny_cfg/vim_cfg/.vim/bundle/YouCompleteMe/third_party/ycmd/ycm_core.so[100%] Built target ycm_core
3 配置
.vimrc中加入:
" YouCompleteMeset runtimepath+=~/.vim/bundle/YouCompleteMelet g:ycm_collect_identifiers_from_tags_files = 1 " 开启 YCM 基于标签引擎let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释与字符串中的内容也用于补全let g:syntastic_ignore_files=[".*\.py$"]let g:ycm_seed_identifiers_with_syntax = 1 " 语法关键字补全let g:ycm_complete_in_comments = 1let g:ycm_confirm_extra_conf = 0let g:ycm_key_list_select_completion = ['<c-n>', '<Down>'] " 映射按键, 没有这个会拦截掉tab, 导致其他插件的tab不能用.let g:ycm_key_list_previous_completion = ['<c-p>', '<Up>']let g:ycm_complete_in_comments = 1 " 在注释输入中也能补全let g:ycm_complete_in_strings = 1 " 在字符串输入中也能补全let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释和字符串中的文字也会被收入补全let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'let g:ycm_show_diagnostics_ui = 0 " 禁用语法检查inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>" | " 回车即选中当前项nnoremap <c-j> :YcmCompleter GoToDefinitionElseDeclaration<CR>| " 跳转到定义处"let g:ycm_min_num_of_chars_for_completion=2 " 从第2个键入字符就开始罗列匹配项
其中 ~/.vim/bundle/YouCompleteMe 为下载 YouCompleteMeu 的路径.
4 使用
默认当键入两个字母之后, 则启动补全. 可以通过该变量调整:
g:ycm_min_num_of_chars_for_completion
也可以使用原有的来补全, ycm将其功能增强了.
按照本文配置, 可用跳转到定义处.
默认配置会选择补全内容, 本文的配置将其屏蔽了, 为了不会与snipmate等需要tab的冲突, 选择补全改为了.
5 参考
http://www.cnblogs.com/zhongcq/p/3630047.html
http://blog.csdn.net/ywh147/article/details/13625905
http://blog.csdn.net/q1302182594/article/details/51298280
http://blog.csdn.net/q1302182594/article/details/51298095
0 0
- ubuntu 16.04 安装 vim 插件 youcompleteme [转载]
- Ubuntu vim安装插件YouCompleteMe
- ubuntu下为vim安装youcompleteme插件
- Ubuntu中vim安装 YouCompleteMe插件
- 安装Vim插件 YouCompleteMe
- vim安装YouCompleteMe 插件
- vim youcompleteme插件安装
- vim 安装YouCompleteMe 插件
- Ubuntu Vim 安装 YouCompleteMe
- 安装vim的YouCompleteMe插件
- Linux vim安装YouCompleteMe插件
- mac 安装vim 插件YouCompleteMe
- Ubuntu 16.04配置安装YouComPleteMe等插件
- Ubuntu下安装YouCompleteMe插件
- vim补全插件YouCompleteMe安装
- Vim智能补全插件YouCompleteMe安装
- vim补全插件YouCompleteMe安装
- vim补全插件YouCompleteMe安装
- Android侧滑显示菜单栏效果的实现
- 有关于假死状态的改正,一个菜鸟的投机取巧的方法
- 后台启动weblogic方法
- mac 禁止生成 .ds_store文件
- 生成支付链接(包括明文和密文)
- ubuntu 16.04 安装 vim 插件 youcompleteme [转载]
- 物联网之所用--蓝牙 PK Wi-Fi
- 你真的了解background-position
- Error:Failed to open zip file. Gradle's dependency cache may be corrupt (this sometimes occurs after
- 后缀数组 【TJOI2013】 bzoj3172 单词
- Spring自定义标签使用
- Struts2框架及其设计模式
- ABAP使用文件
- RxSwift