博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
给vim安装YouCompleteMe
阅读量:4841 次
发布时间:2019-06-11

本文共 2887 字,大约阅读时间需要 9 分钟。

要安装YouCompleteMe ,vim须支持python。看是否支持,可以在vim中:version 查看, 如果python前有+号,就是支持,减号就是不支持。

如果不支持,需要以编译安装方式重新安装vim。

编译配置选项:

./configure --with-features=huge --enable-pythoninterp --enable-python3interp --enable-luainterp --enable-multibyte --enable-sniff --enable-fontset

 

在我的机器上装有python2.7.5 和 python3.3, 但加了enable-python3interp参数依然没有支持py3,不知何故,先不管,YouCompleteMe 只要求有py2.6以上。

安装vundle插件

git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

 

在.vimrc中配置

set nocompatible              " be iMproved, requiredfiletype off                  " required" set the runtime path to include Vundle and initializeset rtp+=~/.vim/bundle/vundle/call vundle#rc()" alternatively, pass a path where Vundle should install plugins"let path = '~/some/path/here'"call vundle#rc(path)" let Vundle manage Vundle, requiredPlugin 'gmarik/vundle'" The following are examples of different formats supported." Keep Plugin commands between here and filetype plugin indent on." scripts on GitHub reposPlugin 'tpope/vim-fugitive'Plugin 'Lokaltog/vim-easymotion'Plugin 'tpope/vim-rails.git'" The sparkup vim script is in a subdirectory of this repo called vim." Pass the path to set the runtimepath properly.Plugin 'rstacruz/sparkup', {
'rtp': 'vim/'}" scripts from http://vim-scripts.org/vim/scripts.htmlPlugin 'L9'Plugin 'FuzzyFinder'" scripts not on GitHubPlugin 'git://git.wincent.com/command-t.git'" git repos on your local machine (i.e. when working on your own plugin)Plugin 'file:///home/gmarik/path/to/plugin'" ...filetype plugin indent on " requiredBundle 'Valloric/YouCompleteMe'

  保存退出,打开vim,输入 :BundleInstall 进行自动安装

 

进程如下,+号表示已经安装,>表示正在安装。

. Plugin 'gmarik/vundle' |~+ Plugin 'tpope/vim-fugitive' |~+ Plugin 'Lokaltog/vim-easymotion' |~+ Plugin 'tpope/vim-rails.git' |~+ Plugin 'rstacruz/sparkup' |~+ Plugin 'L9' |~+ Plugin 'FuzzyFinder' |~> Plugin 'git://git.wincent.com/command-|~t.git' |~Plugin 'file:///home/gmarik/path/to/pl|~ugin' |~Plugin 'Valloric/YouCompleteMe' |~Helptags

 

结束时有个错误,这是正常的,因为ycm需要手工编译出库文件

Done! With errors; press l to view log

ycm_client_support.[so|pyd|dll] and ycm_core.[so|pyd|dll] not detected; you need
to compile YCM before using it. Read the docs!

到 .vim/bundle/YouCompleteMe 下跑

 ./install.sh --clang-completer

参数是为了支持c/c++ 的补全。

安装完成后进行一些简单的配置就可以使用。

YouCompleteMe 的补全配置文件在/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py,这是个隐藏文件。

默认会使用这个文件,也可以把这个文件copy到工程的根目录中作修改,打开工程文件时会优先使用当前目录下的配置文件。

如果找不到,会根据配置中的ycm_global_ycm_extra_conf 进行查找。

 

在.vimrc 中添加

let mapleader = ","  " 这个leader就映射为逗号“,”

let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py'   “配置默认的ycm_extra_conf.py

nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>   “按,jd 会跳转到定义
let g:ycm_confirm_extra_conf=0    “打开vim时不再询问是否加载ycm_extra_conf.py配置
let g:ycm_collect_identifiers_from_tag_files = 1 "使用ctags生成的tags文件

转载于:https://www.cnblogs.com/reddusty/p/5134651.html

你可能感兴趣的文章
collectionView/tableview刷新时关闭动画无效
查看>>
C#线程篇---解答线程之惑(2)
查看>>
Solr添加paoding分词器
查看>>
charles 抓包 (一)
查看>>
隐藏电池栏,遮罩层
查看>>
ES6学习之Iterator和For...of循环
查看>>
java.lang.Thread类的静态方法sleep()和yield()的比较
查看>>
css 在各种浏览器兼容调整
查看>>
三元环、四元环计数
查看>>
(转)网页设计标准尺寸
查看>>
实现不同进程之间的通信
查看>>
SpringBoot
查看>>
apache POI之excel操作
查看>>
【mark】linux查看端口占用
查看>>
String的trim()用于去掉字符串前后的空格
查看>>
jquery相关代码
查看>>
USACO 2.3 Zero Sum
查看>>
android 工具类 DateUtil
查看>>
EM算法原理
查看>>
高速排序算法
查看>>