Vim YouCompleteMe 安装配置
YouCompleteMe是很强大的vim插件,可以提供强大的补齐功能,曾经多次尝试安装,都没有配置成功,最近在一个契机下,看到有同事的配置,自己在边尝试和边咨询后,终于也搞定了,遂记录下。
官网有最好的文档:https://github.com/Valloric/YouCompleteMe#installation
这边记录一些步骤和推荐配置:
1.安装
1.安装vim,需要大于 7.4.1578,可以通过源码安装,还是比较方便的:https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
需要支持python2或者python3(二选一),编译方式如(python2):
cd ~
git clone https://github.com/vim/vim.git
cd vim
./configure --with-features=huge \
--enable-multibyte \
--enable-rubyinterp=yes \
--enable-pythoninterp=yes \
--with-python-config-dir=/usr/lib/python2.7/config \
--enable-python3interp=yes \
--enable-perlinterp=yes \
--enable-luainterp=yes \
--enable-gui=gtk2 \
--enable-cscope \
--prefix=/usr/local make VIMRUNTIMEDIR=/usr/local/share/vim/vim81 sudo make install
2.通过Vundle,安装YouCompleteMe:
~/.vimrc加入:
Plugin 'Valloric/YouCompleteMe' "{
set completeopt-=preview
let g:ycm_autoclose_preview_window_after_insertion =
let g:ycm_autoclose_preview_window_after_completion =
let g:ycm_add_preview_to_completeopt =
let g:ycm_complete_in_comments =
let g:ycm_confirm_extra_conf =
let g:ycm_global_ycm_extra_conf = '~/.ycm_extra_conf.py'
let g:ycm_min_num_of_chars_for_completion=
nnoremap <F4> :YcmDiags<CR>
nnoremap <F5> :YcmForceCompileAndDiagnostics<CR>
nnoremap <C-g> :YcmCompleter GoTo<CR>
nnoremap <C-t> :YcmCompleter GetType<CR>
nnoremap <leader>ycmd :YcmCompleter GetDoc<CR>
"}
安装新配置的插件:
vim -c PluginInstall
3.拷贝默认.ycm_extra_conf.py
cp .vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py ~
4.编译安装YouCompleteMe
cd ~/.vim/bundle/YouCompleteMe ./install.py -h # 通过-h看需要的语言支持,通过提示看
#如 golang支持:
./install.py --go-completer
#全量支持:
./install.py --all
2.效果:

3.功能:
1.输入时有自动提示,通过tab来选择
2.标识符可以通过ctrl+g来跳转,ctrl+o返回,ctrl+i再进入(方便阅读代码)
Vim YouCompleteMe 安装配置的更多相关文章
- VIM Taglist安装配置和使用
问题描述: VIM Taglist安装于配置 问题解决: (1)安装Taglist包 (2)解压taglist压缩包 (3)将 ...
- Linux c++ vim环境搭建系列(4)——vim插件安装配置使用
4. 插件 主要是c++相关的. ~/.vimrc文件在GitHub上有:https://github.com/whuwzp/vim_config 以下内容参考: https://github.com ...
- Ubuntu Vim YouCompleteMe 安装
0. 必要工具安装 sudo apt-get install build-essential cmake 1. 安装 vundle mkdir ~/.vim/bundle git clone http ...
- CentOS 7下的Vim自动补齐插件YouCompleteMe安装及配置
备注:现在对于 YouCompleteMe 的安装应采用更为简单的方法,即利用 Vundle 来安装这个插件.具体方法可见: Vundle 主页 YouCompleteMe 主页 而 .vimrc 的 ...
- 【转】Vim自动补全插件----YouCompleteMe安装与配置
原文网址:http://www.cnblogs.com/zhongcq/p/3630047.html 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assis ...
- Vim自动补全插件----YouCompleteMe安装与配置
Vim自动补全插件----YouCompleteMe安装与配置 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assist X这么方便快捷的补全插件呢?以前用 ...
- CentOS7 Vim自动补全插件----YouCompleteMe安装与配置
最近刚装了新系统CentOS7,想要把编码环境配置一下,使用Vim编写程序少不了使用自动补全插件,我以前用的是neocomplcache+code_complete+omnicppcomplete.但 ...
- Linux --- vim 安装、支持python3的配置、插件自动补全YCM的安装配置及全过程错误总结
1.git(用来下载vim和相关插件) sudo apt-get install git 2,cmake(用来编译clang-llvm) sudo apt-get install build-esse ...
- vim 智能提示插件 YouCompleteMe安装
按照网上的教程安装该软件,没有一篇是成功的(也有可能是没找对).自己从网上东拼西凑的,终于让自己的vim智能识别了. 1. 升级 vim: (ubuntu) sudo add-apt-reposito ...
随机推荐
- Python自动化之django orm之Q对象
Python自动化之django orm之Q对象 什么是Q对象? Encapsulates filters as objects that can then be combined logically ...
- Selenium2+python-unittest之装饰器(@classmethod)
原文地址:http://www.cnblogs.com/yoyoketang/p/6685416.html 前言 前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量 ...
- Redis(五)主从复制
本文转载自编程迷思,原文链接 深入学习Redis(3):主从复制 前言 在前面的两篇文章中,分别介绍了Redis的内存模型和Redis的持久化. 在Redis的持久化中曾提到,Redis高可用的方案包 ...
- PAT乙级1020
1020 月饼 (25 分) 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是多少. ...
- 自定义单选框radio样式
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- traefik-Ingress边缘路由器落地到微服务
1.理解Ingress 简单的说,ingress就是从kubernetes集群外访问集群的入口,将用户的URL请求转发到不同的service上.Ingress相当于nginx.apache等负载均衡方 ...
- snapkit更新约束崩溃的问题
最近在使用snapkit布局时,竟然发现更新约束会导致崩溃,为什么这样呢? checkButton.snp.makeConstraints { (make) in make.left.top.equa ...
- 在用AJAX跨域请求时遇到的问题
刚刚接触ajax就遇到一个词--跨域. 在我百度了各种资料以后总结了一句话:“只要不是在一个协议.域.名端口下,都属于跨域(127.0.0.1本地也属于跨域)”. 在做ajax请求的时候,请求不到并且 ...
- PostMan测试接口,绕过登录验证
之前测试的时候,需要页面进行登录之后,才能让访问后台程序,但是在进行接口测试的时候,没有验证就一直登录不进去,之后参考了一篇文章.解决如下. 1.在浏览器上先登录,登录成功后获取cookie: 记住J ...
- JQuery第二天——JQuery的DOM操作
JQuery拥有隐式迭代和显式迭代 因为JQuery为类数组对象,可以使用手动遍历实现显式 .each():也可以使用 $("p").click(function(){ var t ...